数据结构期末复习

367 阅读1分钟
  1. 双循环链表为空条件: L -> prior == L && L -> next == L
  2. 链式栈:在表头操作,不会溢出
  3. n个数依次进栈,出栈序列个数1/(n+1)*C(2n, n)
  4. 队列元素存在[front, tail),以题目描述为准
  5. 循环队列队满条件: (tail + 1) % size == front
  6. 中缀转后缀,表达式求值(栈中呈“严格倒金字塔”结构)
  7. 高度为h的m叉树至多有(m^h-1)/(m-1)个节点,特别的,高度为h的二叉树至多有2^h-1个节点
  8. 具有n个节点的m叉树最小高度为round(log(m, n*(m-1)+1))
  9. 具有n个节点的完全二叉树高度为round(log(2, n+1))
  10. 题型:具有X个叶子节点的完全二叉树至多/至少有多少节点
  11. 树的先根、后根/森林的先序、中序<=>对应二叉树的先序、中序
  12. 深度为h的AVL最少节点数(<=>平衡因子均为1)(n个节点的AVL最大深度):N0 = 0, N1 = 1, Nh = Nh-1 + Nh-2 + 1
  13. BST的理想深度为round(log(2, n+1))
  14. 有向图顶点的度 = 入度 + 出度
  15. n个顶点的图至少多少条边保证连通(m条边非联通至少多少个顶点):1 + Kn-1
  16. 判断一个图是不是树:连通&n-1条边
  17. 使用二分查找,判定树高round(log(2, n+1))
  18. 线性探测解决冲突:ASL = 1/2 * (1 + 1/(1 - α))
  19. 装填因子,堆积现象/冲突次数,平均查找长度
  20. H(key) = key % P, P取小于等于n的最大质数
  21. k路归并,趟数m = round(log(k, n))