Python实现morris,kmp,判断一个二叉树T1是否是另一颗二叉树T2的子树。时间复杂度O(N),空间复杂度O(1) ...
分类:
编程语言 时间:
2018-05-16 15:38:09
阅读次数:
213
本节开始将带领大家系统地学习数据结构,作为一门计算机专业大二学生的必修课程,该课程面对的目标人群为初步具备基本编程能力和编程思想的程序员(大一接触了 C 语言或者 C++)。通过系统地学习数据结构,可以提高程序员分析问题和解决问题的能力。 首先,先来揭开数据结构的神秘面纱,看看什么是数据结构。 数据 ...
分类:
编程语言 时间:
2018-05-11 17:29:19
阅读次数:
228
Python实现DoubleLinkedList及Stack Python实现二叉树的先序,中序及后序遍历的递归与非递归版本 ...
分类:
编程语言 时间:
2018-05-09 22:40:07
阅读次数:
200
二叉树 定义: 来自于百度百科。 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左 ...
分类:
编程语言 时间:
2018-05-09 14:35:12
阅读次数:
184
算法是编程的灵魂,一直想研究一下算法,选了一本入门书《数据结构与算法分析--c语言描述》,空闲的时候翻一番,写一写。在3.2.6小节中有个多重表,百度了一下,可能比较简单,较少人实现- -!,百度到的一些博主的实现方法,定义的节点包含的信息较多且比较浪费空间,没有书上描述的那么简洁,所以自己实现了一 ...
分类:
其他好文 时间:
2018-05-06 23:32:02
阅读次数:
235
一般情况 树的 结点 n 计算 深度:从根结点到n结点的数值 高度:结点n到叶子结点最大路径数值 根据<<数据结构与算法分析:c语言描述>> 4.1章描述 因此可以看出:此描述计算高度和深度的基础数值从 0 开始(还有网上其他说法,初始值为 1 ) 计算 结点C的 深度为 1,高度为 2 对于整树而 ...
分类:
其他好文 时间:
2018-04-20 13:34:38
阅读次数:
231
我们继续来看链表的第二道题,来自于leetcode: 两数相加 给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 分析: 因为是位数按照逆序方式存储,所以链表的前 ...
分类:
编程语言 时间:
2018-04-05 11:55:27
阅读次数:
381
一、基本概念与术语 1.数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 2.数据元素(Data Elemet):是数据的基本单元,在计算机程序中通常作为一个整体进行考虑和处理。 一个数据元素可由若干个数据项组成。数据项是数据的不可分割 ...
分类:
编程语言 时间:
2018-03-31 16:39:45
阅读次数:
246
2.3.4 树 遍历:前中后序,宽度优先。 二叉树的特例:二叉搜索树、堆(最大堆和最小堆,用于找最值)、红黑树(c++ STL中的很多数据结果就是基于这实现的); 题7-重建二叉树:递归,设置四个位点; 题8-二叉树的下一个节点 ...
分类:
编程语言 时间:
2018-03-28 21:58:29
阅读次数:
186
[TOC]#1.引用的概念及用法概念:引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 温馨提示:引用不是定义一个新的变量定义的格式为: 类型&引用变量名=已定义过的变量名;用法:举个例子:inta=5;int&b=a;这就是引用,b引用a,b是a的别名
分类:
编程语言 时间:
2018-03-26 15:56:59
阅读次数:
133