随笔分类 - 数据结构与算法学习
计算机知识不变量,必须要懂。
摘要:红黑树有什么特征,如何保持平衡的? 它或者是一颗空树,或者是具有一下性质的二叉查找树: 1.节点非红即黑。 2.根节点是黑色。 3.所有NULL节点称为叶子节点,且认为颜色为黑。 4.所有红节点的子节点都为黑色。 5.从任一节点到其叶子节点的所有路径上都包含相同数目的黑节点。 平衡分析: 稍微根据以
阅读全文
摘要:(百度百科)在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者 G.M. Adels
阅读全文
摘要:(百度百科)平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、Treap等。 最小二叉平衡树的节
阅读全文
摘要:二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。 特点 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: 1、若左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2、若右子树不空,则右子树上所有结点的值均大于它的根结
阅读全文
摘要:特点 1、二叉树的每个结点至多只有二棵子树(不存在度大于2的结点); 2、在非空二叉树的k层上,至多有2^(k-1)个节点(k>0); 3、高度为k的二叉树中,最多有2^k-1个节点(k>0); 4、对于任何一棵非空的二叉树,如果叶节点个数为n0,度数为2的节点个数为n2,则有: n0 = n2 +
阅读全文
摘要:概念 (百度百科)树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 从概念去理解,之所以叫“树”是因为形状像树,并非对“真实树”的模仿,所以不像链表结构一样可以参考现实中链状事物的构造。例如“
阅读全文
摘要:概念 (百度百科)队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 从概念上看,跟栈多少有几分相似之处,同样是特殊的线性代表,同样只能在
阅读全文
摘要:概念 (百度百科)栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元
阅读全文
摘要:概念 (百度百科)链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。我相信,链表结构也是从我们显示生活中演绎出来的,例如我们的项链、铁链等都是一种链表结构的生活写照。链表和数组一样,都是数据结构中最为基础的线性结构,许多的其它数据结构,都是站在这两
阅读全文
摘要:概念 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量
阅读全文
摘要:对于课堂上的《数据结构》,我会怀疑学校的教育方式;对于桌面上的三本《数据结构》,我会质疑作者到底有没有站在平民百姓的角度去写这些书;对于网上的一些《数据结构》教学视频,我开始质疑自己是否一个合格的学习者,又或许是自己没有找到适合自己的教材吧。数据结构是计算机基础中的战斗机,这是众所周知的,包括一个计
阅读全文