随笔分类 - 复习数据结构
摘要:这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种。注意:线索链表解决了无法直接找到该结点在某种遍历序列中的前趋和后继结点的问题,出现了二叉链表找左、右孩子...
阅读全文
摘要:广度遍历如图先从1层开始遍历 然后 2 层 , 3层,,,,,,,,,只需改变一下BinaryTree类 class BinaryTree { private BinaryTreeNode _head;//头指针 private string cStr;//用于...
阅读全文
摘要:定义 每个结点至多有两颗子树(即二叉树不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒,即如果将其左右字数颠倒,就成为另一颗不同的二叉树。二叉树的储存结构1.顺序存储结构2.链式存储结构什么是顺序存储结构?实际上跟数组差不多根据数组画出二叉树看到规律没?左节点+1 ,右节点+2...
阅读全文
posted @ 2014-07-06 18:03
欢呼雀跃
摘要:如果用Brute-Force算法 KMP算法K:字符前的K个字符和字串的头K个字符相等 1.k=-1 只有模式串的第一个字符的k值为-1 2.K>0 表示指定字符前面k个字符和模式串的头k个字符相等 3.K=0 其他情况。(模式串第2个字符的k值必为0.)例:c下面对应2,表示C前面有两个 字符串相...
阅读全文
摘要:假设 字符串s 和 字符串t,字符串t 的定位就是要在字符串s 中找到一个与字符串t 相等的字符串。就像这样 string s = "asdfffgg"; Console.WriteLine(s.IndexOf("fff"));返回的结果 是 3下面用Brute-Force算...
阅读全文
摘要:15个教徒与15个非教徒在深海遇险,必须将一半的人投入大海,其余的人才能幸免于难,于是想到一个方法,30个人围成一圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环直到余15个人为止,问怎么样排法,才能使每次投入大海的都是非教徒?从一数到8,然后移除8,从9开始数,我们可以用循环链表...
阅读全文
posted @ 2014-06-24 22:20
欢呼雀跃
摘要:双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。A 的data 是1,他的next一个节点,指向 B ,B的prev指向A,这是那来了 C,C 的...
阅读全文
摘要:(1)单循环链表——在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点即可。循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。using System;namespace ConsoleApplication3{ class CirculLin...
阅读全文
posted @ 2014-06-24 22:01
欢呼雀跃
摘要:相对于数组来说: 优点: 通过索引(数组下标)快地访问数组元素; 缺点: 插入/删除元素需要对数组进行调整, 效率低;而链表: 优点:插入/删除速度快而且用对整链表进行调整; 缺点:只能进行顺序访问能随机访问(像数组样用下标);所链表些需要快速插入/删除而太关心或者需要随机访问情况下使用.单链...
阅读全文

浙公网安备 33010602011771号