堆和互不相交集课件.pptVIP

  • 7
  • 0
  • 约3.09千字
  • 约 25页
  • 2017-07-29 发布于河南
  • 举报
堆和互不相交集课件

(1)堆的定义 个元素称为堆,当且仅当它的关键字序列满足: 或者满足: 把式 的堆称为最小堆;把式 的堆称为最大堆。 由堆定义知:它是一棵完全二叉树。若树的高度为,则堆具有如下性质: 所有的叶子结点不是处在第 层,就是处在第 层。;当 时,第 层上的 个结点。 第 层上如果有分支结点,则这些分支结点都集中在树的最左边。 每个结点所存放元素的关键字,都大于(最大者)或小于(最小者)它子孙结点所存放元素的关键字。 对于一个具有 个元素的堆,可以很方便地用如下方法,由数组 来存放它: 根结点存放在 。;假定结点 存放在 ,如果它有左孩子结点,则其左孩子结点存放 ;如果它有右孩子结点,则其右孩子结点存放 。 非根结点 的父结点存放在 (2)举例:输入数据20,17,9,10,11,4,5,3,7,5;(3)堆的运算 sift_up[H,i]:将H[i]向上调整到合适的位置,使H成 为堆。 sift_down[H,i]:向下调整H[i]到合适的位置,使H成 为堆。 delete_max[H,

文档评论(0)

1亿VIP精品文档

相关文档