[工学]5-2 二叉树应用.pptVIP

  • 1
  • 0
  • 约5.53千字
  • 约 34页
  • 2018-03-10 发布于浙江
  • 举报
[工学]5-2 二叉树应用

2007-4-4 2007 Spring Data Structures Algorithms by Haiyan Zhao 二叉树的应用 堆与优先队列 哈夫曼树及其应用 满足某种特性的二叉树 满足某种特性的二叉树 最大值堆(max-heap) 任一个结点的值都大于或者等于其任一子女的值 根结点存储着树中所有结点的最大值 根结点含有大于或等于其子女的值,而其子女又依次大于或等于各自子女的值 堆的定义 (heap) 一个关键码序列{ K0, K1, …, Kn-1},如果满足 Ki≥K2i+1 / Ki≤K2i+1, Ki≥K2i+2 / Ki≤K2i+2, (i = 0, 1, …, ?n/2?) (堆序性)则称其为堆。 即: 最大值堆 /最小值堆(根据数据间的大小关系)或称大根堆/小根堆 堆的性质 堆实际上是一个完全二叉树的层次序列,可以用数组表示 堆中存储的数(关键码)是局部有序的 结点存储的值与其子女存储的值之间存在某种联系。两种不同的堆(最大值、最小值)取决于其联系的定义 堆中任何一个结点与其兄弟之间都没有必然的联系 堆不唯一。从逻辑角度看,堆实际上是一种树型结构 建堆示例 如何建堆? 不必将值一个个地插入堆中,通过交换形成堆。 以最大值堆为例,假设根的左、右子树都已是堆,且根为R。这种情况下,有两种可能: (1) R的值大于或等于其两

文档评论(0)

1亿VIP精品文档

相关文档