算法设计与分析_04算法分析举例.pptVIP

  • 0
  • 0
  • 约2.79千字
  • 约 25页
  • 2016-11-30 发布于重庆
  • 举报
算法设计与分析_04算法分析举例

算法设计与分析演示稿 纪玉波制作(C) 算法设计与分析 ——算法分析举例 算法分析举例 本节举几个对具体算法进行分析的例子,可以由此学习分析的方法,举一反三再分析其它的算法。 * * 例1. 堆阵排序 1.堆阵 堆阵排序(Heap sort, 1964年Robert W. Floyd 和J.Williams共同设计,1978年Robert W. Floyd获图灵奖)是利用二叉树的一种排序方法。堆(Heap)也译为堆或堆垒,是与二叉排序树不同的一种二叉树,它的定义为:一个完全二叉树(完全二叉树:各层都是满的,只是最下面一层从右边起连续缺几个结点),它的每个结点对应于原始数据的一个元素,且规定:如果一个结点有子结点,此结点数据必须大于或等于其子结点的数据。由此可见,堆是完全二叉树,且规定了父结点和子结点数据之间必须满足的条件。 由于堆阵是完全二叉树,采用将结点顺序编号存于一维数组中的表示法较链接表示法节省存储也便于运算。设某堆的结点数共有n个,顺序将它们存人一维数组K中,下标从1到n。根据顺序表示二叉树的特点,除下标为1的结点是整个树的根结点而没有父结点以外,其余下标为j的结点(2≤j≤n)都有父结点,父结点的下标为i= 。故堆阵的条件可以表示成: K[i]≥K[j] 当2≤j≤n 和i= 由堆的定义可知,其根结点(

文档评论(0)

1亿VIP精品文档

相关文档