树知识总结
系统整理下数据结构的相关知识,利用思维导图的模式。第一次画总感觉怪怪的
有几点不是很清楚的记录下
- 这里研究二叉树的原因。因为多叉树如果采用兄弟链接法进行表示后,从某个角度上看来就是一颗二叉树。这也就是说研究二叉树也相当于研究多叉树。
- 注意堆的建立过程,其中利用调节树方法建立的堆,首先先把一系列节点填入树种,然后利用删除堆元素时的方法进行调节,最终算出的算法复杂度是O(n)
- 平衡树的旋转命名规则是通过观察插入点与被破环平衡点之间的关系得来的。而转换方法则是将被破坏平衡点的下个元素提上来。例如,如果插入点在被破坏平衡点的右右分支上。则通过RR旋转来保持其平衡,旋转方法是将其被破坏节点的下一个节点提取上来。示意图如下:这里要注意RR旋转后腰调整相关子树的结构。
4.并查集的概念是树查找节点的逆操作,即查找根节点。即每个子节点需要一个节点指向根节点。
5.红黑树的概念
红黑树是一种高效的平衡树,其统计性能要优于AVL树。其具有一下四个特点
- 所有的节点不是黑的就是红的
- 根节点是黑色的
- 根节点到叶子节点的黑节点书必须相等
- 如果一个节点是红色的,那么它的子节点必须是黑色的
- 叶子节点的两个null的子结点当作黑色的。
由于以上特性限制,每次插入的节点必然是红色的,如果破坏了平衡性,则要通过旋转来调整。