数据结构速查

203

树的性质

  1. 树中的结点数等于所有结点的度数之和加1。
  2. 度为 mm 的树中第 ii 层上至多有 mi−1m^{i-1} 个结点(i≥1i≥1)。
  3. 高度为 hh 的 mm 叉树至多有 (mh−1)/(m−1)(m^h-1)/(m-1) 个结点。
  4. 具有 nn 个结点的 mm 叉树的最小高度为 ⌈log⁡m(n(m−1)+1)⌉\lceil\log_m(n(m-1)+1)\rceil。
  5. 常用于求解树结点与度之间关系的有:
    • 总结点数=n0+n1+n2+⋯+nmn_0+n_1+n_2+\cdots+n_m
    • 总分支数=1n1+2n2+⋯+mnm1n_1+2n_2+\cdots+mn_m(度为 mm 的结点引出 mm 条分支)
    • 总结点数=总分支数+1总结点数=总分支数+1

二叉树的性质

  1. 非空二叉树上的叶子结点数等于度为 22 的结点数加 11,即n0=n2+1n_0=n_2+1。
  2. 非空二叉树上第 kk 层上至多有 2k−12^{k-1} 个结点(k≥1k≥1)。
  3. 高度为 hh 的二叉树至多有 2h−12^h-1 个结点(h≥1h≥1)。
  4. 对完全二叉树按从上到下、从左到右的顺序依次编号 1,2,⋯,n1,2,\cdots,n,则有以下关系:
    1. 当 i>1i>1 时,结点 ii 的双亲的编号为 ⌊i/2⌋\lfloor i/2\rfloor,即当 ii 为偶数时,其双亲的编号为 i/2i/2,它是双亲的左孩子;当 ii 为奇数时,其双亲的编号为 (i−1)/2(i-1)/2,它是双亲的右孩子。
    2. 当 2i≤n2i≤n 时,结点 ii 的左孩子编号为 2i2i,否则无左孩子。
    3. 当 2i+1≤n2i+1≤n 时,结点 ii 的右孩子编号为 2i+12i+1,否则无右孩子。
    4. 结点 ii 所在层次(深度)为 ⌊log⁡2i⌋+1\lfloor\log_2i\rfloor+1。
  5. 具有 nn 个(n>0n>0)结点的完全二叉树的高度为 ⌈log⁡2(n+1)⌉\lceil\log_2(n+1)\rceil 或 ⌊log⁡2n⌋+1\lfloor\log_2n\rfloor+1。