7.3树与二叉树

树的基本概念

树的度

节点的度

树的层次

分支节点

根节点

内部节点

叶子节点

兄弟节点

二叉树

满二叉树

完全二叉树

非完全二叉树

完全二叉树的总节点数n不超过$n<2 ^ i -1$

完全二叉树的子节点树m不超过$m < 2^{i-1}$

对任何一颗二叉树,叶子节点数$n_0=n_1+1$(n1为度为2的结点数)

完全二叉树的节点值为k,

​ 其父节点值为k/2取整

​ 其左子节点值为2k,若2k>n,无左子节点

​ 右子节点值为2k+1,若2k+1>n,无右子节点

提示:i为树的层次

树的遍历

前序遍历

中序遍历

后序遍历

层次遍历

前、中、后指的是父节点的位置

根据遍历结果还原二叉树

注意:想要通过遍历结果还原二叉树必须要有中序遍历结果

树转二叉树

转换规则

树的孩子节点位于左子树

树的右兄弟节点位于右子树

根据权值求汉夫曼树(最优二叉树)

从最小权值依次构建

插入二叉树

插入节点值比父节点小,位于左子树;比父节点大,位于右子树

删除二叉树

  • 若删除节点只存在一个子节点,删除待删除节点,子节点移到删除节点的位置

  • 如删除节点存在两个子节点,删除待删除节点,在左子树中序遍历出节点值最大的节点并移到删除节点的位置

线索二叉树

平衡二叉树

任意节点的左右子数深度之差不超过1

Last updated

Was this helpful?