游戏开发面试总结3

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

  

猜你喜欢

转载自www.cnblogs.com/amadios/p/11523768.html