简单选择排序与堆排序.pptVIP

  • 14
  • 0
  • 约1.95千字
  • 约 15页
  • 2018-06-24 发布于河南
  • 举报
简单选择排序与堆排序

第3章 查找与排序技术 输入:无序序列P(1:n)。 输出:有序序列P(1:n)。 PROCEDUDE SELESORT(P,n) FOR i=0 TO n-2 DO { k=i FOR j=i+1 TO n-1 DO IF P(j)<P(k) THEN k=j IF (k≠i) THEN { d=P(i); P(i)=P(k); P(k)=d } } RETURN selesort(p,n) int n; ET p[]; { int i,j,k; ET d; for (i=0; i<=n-2; i=i+1) { k=i; for (j=i+1; j<=n-1; j=j+1) if (p[j]<p[k]) k=j; if (k!=i) { d=p[i];p[i]=p[k];[k]=d;} } return; } 2. 堆排序 堆的定义: 具有n个元素的序列(h1,h2,…,hn), 当且仅当满足 (i=1,2,…,n/2)时称之为堆。 由堆的定义可以看出,堆顶元素 (即第一个元素)必为最大项。 或 具有n个元素的序列(h1,h2,…,h

文档评论(0)

1亿VIP精品文档

相关文档