max_heapify(a,n,i) largest=i; temp=-1; while(lagest<=n) then l=2*largest; r=2*largest+1; if(l<=n and a[l]>a[largest]) then largest=l; if(r<=n and a[r]>a[largest]) then largest=r; if(largest!=temp) then a[laegest]<->a[temp]; else break;
max_heapify(a,n,i) largest=i; temp=-1; while(lagest<=n) then l=2*largest; r=2*largest+1; if(l<=n and a[l]>a[largest]) then largest=l; if(r<=n and a[r]>a[largest]) then largest=r; if(largest!=temp) then a[laegest]<->a[temp]; else break;
根据书上的伪代码实现的最大堆,以及在最大堆基础上实现的优先级队列:
原理比较简单,不在叙述。代码如下:实现了一些基本操作。
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M