6.2-5

原创 2015年07月10日 16:28:50
MAX-HEAPIFY(A, i)
  while i ≤ A.heap-size
      l = LEFT(i)
      r = RIGHT(i)
      if l ≤ A.heap-size and A[l] > A[i]
          largest = l
      else
          largest = i
      if r ≤ A.heap-size and A[r] > A[i]
          largest = r
      if largest ≠ i
          exchange A[i] with A[largest]
          i = largest
      else
          break

《算法导论》笔记 第6章 6.2保持堆的性质

当 MAX_HEAPIFY 被调用时,我们假定LEFT(i)、RIGHT(i)为根的两棵
  • cyendra
  • cyendra
  • 2014年04月07日 09:04
  • 568

算法导论第六章6.2维护堆的性质课后答案

6.2-1参照图6.2的方法,说明MAX-HEAPIFY(A,3)在数组A={27,17,3,16,13,10,1,5,7,12,4,8,9,0} 上的操作过程。 操作过程参照书中图6.2,非常类...
  • z84616995z
  • z84616995z
  • 2014年01月01日 20:28
  • 2128

算法导论 练习题 6.2-5

1
  • niewei1986
  • niewei1986
  • 2017年04月06日 10:59
  • 382

算法导论第三版习题6.5

6.5-1(a) 首先直接提取max=A[1]=15max = A[1] = 15; (b) 然后令A[1]=A[heap_size]=1A[1]=A[heap\_size]=1,让heap_siz...
  • obguy
  • obguy
  • 2016年02月28日 14:08
  • 1052

习题 6.2-5 保持堆的性质 (迭代)

void MaxHeapify(vector &Heap,int i) { int left=i; int right=i; int temp; int largest=i; while(...
  • nedved09fy
  • nedved09fy
  • 2012年12月29日 21:24
  • 66

算法导论 习题6.2-5 用迭代法实现堆排序

#include using namespace std;void swap(int array[] , int i , int j){    array[i] = array[i]+array[j]...
  • rockerman_shane
  • rockerman_shane
  • 2011年02月15日 11:04
  • 716

第六章堆排序之“保持堆的性质MAX-HEAPIFY”(迭代版,练习6.2-5)

MAX-HEAPIFY用于最大堆的堆调整,i的左右子堆已经满足最大堆要求。 数组的第0个位置未用,这样计算左右子女的索引简单点。 递归的话对某些编译器来说可能会很低效,所以改为循环迭代。 v...
  • MichealTX
  • MichealTX
  • 2012年01月02日 15:23
  • 948
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:6.2-5
举报原因:
原因补充:

(最多只允许输入30个字)