1:说一说快速排序吧
快速排序的最差时间复杂度 O(n²),栈深度为O(n),最优情况O(nlgn),栈深度为O(lgn),平均时间复杂度O(nlgn)
平均时间复杂度的推导:
这里贴一个写的很好的博客:https://blog.csdn.net/MASILEJFOAISEGJIAE/article/details/88371275,给出了详细的推导过程
2:红黑树
关于红黑树学习的话可以参考这一篇博客:https://www.cnblogs.com/kumufengchun/p/11169138.html
红黑树面试问题:https://www.cnblogs.com/wuchanming/p/4444961.html
网上可以搜到红黑树演示图,可以看一下。
3:
B树
是一颗多路平衡查找树。一个M阶的B树定义“
1:树中每个节点至多有m棵子树
2:若根结点不是叶子结点,则至少有两棵子树
3:除根结点之外的所有非终端结点至少有ceil(m/2)-1棵子树
4:每个结点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它。
5:所有叶子结点都位于同一层
B树的查找,删除,插入等
B+树:
B+树的查找可以从根节点开始,若非终端结点上的关键字等于给定值,并不终止,而是继续向下直到叶子节点(因为非终端结点中只包含关键字而不是整个记录);也可以从最小关键字的叶子节点开始顺序查找。
应用场景可以参考https://blog.csdn.net/qq_36183935/article/details/81095212