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