树的演变笔记
最开始的树
组开始的树是,由一个根节点,然后每个节点对应着多个子节点,大概就是以下这个样子
每个接待你对应的数据是没有限定的,就是没每个的值相互之间不受影响,所以使用这种树,在根据值查找某个节点的时候,就需要一层一层的遍历所有的节点,执行的效率比较低,时间复杂度为O(n),所以就引入二叉查找树。
二叉查找树(BST)
在查找某个值的时候,一共就只有三种结果,大于,小于,等于,根据这三种情况并设计出了二叉查找树,某个节点的左边存放比该节点值小的所有的节点,右边存放值比该节点大的所有的节点。如下图
一般情况下二叉查找树平均的查找的时间复杂度为log,效率是非常的高的,但是也有一些极端的情况下会会导致二叉查找树的优势不存在,如下图
可以看到这个二叉搜索树已经可以被当作是简单的链表结构了,查找的时间复杂度为O(n)。分析可以知道,出现这种