递归序,每个节点到达三次------树形DP的基础
先序:第一次到达某个节点就打印
中序:第二次到达某个节点就打印
后序:第三次到达某个节点就打印
二叉树的宽度优先遍历,既按层遍历,用队列实现。
为什么会出现二叉树?或者说二叉树为了解决什么问题而出现的?
将链表插入的灵活性和有序数组查找的高效性结合起来
为了解决链表中查找、插入最坏为O(n)的情况,数组中删除最坏移动元素O(n)的情况。
例如:数据库需要多次查找、更新操作,此时使用数组、链表这种数据结构会很慢。而二叉树则可以达到O(lgn)。
二叉查找树,(Binary Search Tree,二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。
平衡树(Balance Tree) ,任意节点的子树的高度差都小于等于1。
BST 的中序遍历是升序的。
本文探讨了二叉树的基本遍历方法(先序、中序、后序),以及宽度优先遍历的实现。通过比较链表和数组的数据结构特性,阐述了二叉树如何结合两者优势解决查找和更新操作中的性能问题,重点介绍了二叉查找树和平衡树的定义及其在数据库优化中的应用。
2429

被折叠的 条评论
为什么被折叠?



