重新读数据结构 - 心得
数据结构的特性
链表:
1. 链表有 双端、双向、有序链表
2. 优点:动态分配空间、插入、删除快 , 花费时间O(n),最近一个点的花费时间O(1).
缺点:查询慢
3. 总结:
多用于存储 ,查找用树构建索引
递归-归并排序
1. 简易排序的执行效率 都为 O(n~2)
2. 归并排序 - 核心思路 : 就是将一个数组 不停的 划分两个数组,然后合并为有序数组, 效率为 O(n*logN), 速度比简易排序快很多,但有缺点,需要暂用两份内存。
3. 消除递归的方法,就是通过栈的实现来解决
快速排序
1.为通用排序最好的算法, 快速排序的效率也为O(n*logN),并且不需要占用两倍的空间
树
1.查找算法的效率为 O(logN) 实际为Log2~N
2.删除树子节点,就是通过 中序的后继结点补上
红黑树
1. 由于有序的情况底下,树出现极限的情况,导致效率降低为 O(N)
2.红黑规则
2.1 每一个节点不是红色就是黑色
2.2 根节点一定是黑色
2.3 如果节点是红色,则子节点一定是黑色
2.4 从根到任一子节点或空节点的每条路径,必须包含相同数目的黑节点。(即树的高度是必须一致的)
3. 违规修正
3.1 修改节点的颜色(即插入的节点如果是黑色下跟着两个红色,则必须采取变颜色)
3.2 改变旋转操作