1 / 23

第六章 树和二叉树

第六章 树和二叉树. 一、树. 树的 ADT 定义 从关系约束的角度定义树 以递归形式定义树 相关术语 根结点 - 叶结点 - 非叶结点 父结点 - 子结点 祖先结点 - 子孙结点 结点的度 - 树的度 路径 - 路径长度 有向树 - 无向树 结点的层数 树的深度. 二、二叉树. 二叉树的定义 度不大于 2 的有向树称为二叉树。 相关术语 左子结点 - 右子结点. 二、二叉树. 二叉树的性质. 第 i 层最多有 2 i 个结点. 深度为 h ,则最少有 h 个结点,最多有 2 h -1 个结点.

eros
Télécharger la présentation

第六章 树和二叉树

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章 树和二叉树

  2. 一、树 • 树的ADT定义 • 从关系约束的角度定义树 • 以递归形式定义树 • 相关术语 • 根结点-叶结点-非叶结点 • 父结点-子结点 • 祖先结点-子孙结点 • 结点的度-树的度 • 路径-路径长度 • 有向树-无向树 • 结点的层数 • 树的深度

  3. 二、二叉树 • 二叉树的定义 • 度不大于2的有向树称为二叉树。 • 相关术语 • 左子结点-右子结点

  4. 二、二叉树 • 二叉树的性质 第i层最多有2i个结点 深度为h,则最少有h个结点,最多有2h-1个结点 结点数为n,则深度最多为n,最少为┌log(n+1)┐ 满二叉树 完全二叉树

  5. 二、二叉树 • 二叉树的性质 对完全二叉树,结点i的左子结点序号为2i+1 对完全二叉树,结点i的右子结点序号为2i+2 对完全二叉树,结点i的父结点序号为└(i-1)/2┘

  6. 二、二叉树 • 二叉树的实现 • 二叉链结构 • 父链结构 • 三叉链结构 CODING

  7. 二、二叉树 • 二叉树的遍历 • 前序遍历:根 左子 右子 • 中序遍历:左子 根 右子 • 后序遍历:左子 右子 根 • 层次遍历:逐层 abdcegjkhfi dbajgkehcfi dbjkgheifca abcdefghijk CODING

  8. 二、二叉树 • 二叉树的遍历 • 应用举例:遍历与输入二叉树 abd###ceg##h##f#i## CODING

  9. 二、二叉树 • 二叉树的遍历 • 应用举例:二叉树的撤销 CODING

  10. 二、二叉树 • 二叉树的遍历 • 遍历序与二叉树的对应 • 前序遍历序+中序遍历序唯一确定二叉树 前序遍历序:abdceghfi 中序遍历序:dbagehcfi

  11. 二、二叉树 • 线索化二叉树 • 定义

  12. 二、二叉树 • 线索化二叉树 • 中序线索化二叉树的遍历 • 二叉树的中序线索化 CODING

  13. 二、二叉树 • 二叉树应用举例 • 表达式运算树 A+(B*(C-D))/E-F*(G+H)

  14. 三、森林、树、二叉树 • 树的物理结构 • 父链结构 • 子链结构 • 子链-兄弟链结构

  15. 三、森林、树、二叉树 • 树与森林 • 树=根+子树森林

  16. 三、森林、树、二叉树 • 树的二叉树表示 • 树二叉树 • 二叉树树 BiTree=(root, Tl, Tr) Tree=(root, T1, …, Tn)

  17. 三、森林、树、二叉树 • 森林与二叉树 • 森林二叉树 • 二叉树森林 BiTree=(root, Tl, Tr) Forest=(T1, …, Tn)=((root,T11,…,T1m),…Tn)

  18. 四、哈夫曼树 • 哈夫曼树(最优二叉树) • 叶结点带权的二叉树 树的总权值:50*2+12*3+25*4+8*2+7*3+32*3 = 369

  19. 四、哈夫曼树 • 哈夫曼树(最优二叉树) • 哈夫曼树

  20. 四、哈夫曼树 • 哈夫曼算法 初始时,将每个叶结点看作一个独立的二叉树,叶结点即根结点; 重复n-1次: 选出两棵根结点权值最小的二叉树; 新增一个根结点; 将选出的两棵二叉树作为新增根结点的左子和右子; 新增根结点的权值为选出两棵二叉树根结点的权值之和; CODING

  21. 四、哈夫曼树 • 哈夫曼编码 • 定长编码与变长编码 • 最优变长编码——哈夫曼编码 a:100 b:110 c:111 d:101 e:0 CODING

  22. 发送方 接收方 四、哈夫曼树 • 哈夫曼编码 • 编码构造 • 信息编码 • 信息解码 a:100 b:110 c:111 d:101 e:0 aebaeceddec aebaeceddec 1000110100011101011010111

More Related