阅读下列排序算法,并与已学算法相比较,讨论算法中基本操作的执行次数。 void sort(SqList &r, int n) { i=1; while (i<n-i+1) { min = max = 1; for(j=i+1; j<=n-i+1; ++j) { if(r[j].key<r[min].key) min = j; else if(r[j].key>r[max].key) max = j; }//for if(min!=i) r[min]↔r[i]; if(max!=n-i+1) { if(max==i) r[min]↔r[n-i+1]; else r[max]↔r[n-i+1]; }//if i++; }//while }//sort-笔试面试资料
这是qklbishe.com第7497 篇笔试面试资料
提供答案分析,通过本文《阅读下列排序算法,并与已学算法相比较,讨论算法中基本操作的执行次数。 void sort(SqList &r, int n) { i=1; while (i<n-i+1) { min = max = 1; for(j=i+1; j<=n-i+1; ++j) { if(r[j].key<r[min].key) min = j; else if(r[j].key>r[max].key) max = j; }//for if(min!=i) r[min]↔r[i]; if(max!=n-i+1) { if(max==i) r[min]↔r[n-i+1]; else r[max]↔r[n-i+1]; }//if i++; }//while }//sort-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。
答案:
阅读下列排序算法,并与已学算法相比较,讨论算法中基本操作的执行次数。
void sort(SqList &r, int n) { i=1; while (i<n-i+1) { min = max = 1; for(j=i+1; j<=n-i+1; ++j) { if(r[j].key<r[min].key) min = j; else if(r[j].key>r[max].key) max = j; }//for if(min!=i) r[min]↔r[i]; if(max!=n-i+1) { if(max==i) r[min]↔r[n-i+1]; else r[max]↔r[n-i+1]; }//if i++; }//while }//sort
这是一个双向选择排序算法,每次选择关键码最小的记录放在前面,同时选择关键码最大的记录放在后面。比较n*(n-1)2次。最好情况移动记录0次,最坏情况大约移动记录3n次。
今天 20:25:13 回复(0)
文章部分来自互联网,侵权联系删除
www.qklbishe.com
区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站部分资料来自网络,侵权联系删除!资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 阅读下列排序算法,并与已学算法相比较,讨论算法中基本操作的执行次数。 void sort(SqList &r, int n) { i=1; while (i<n-i+1) { min = max = 1; for(j=i+1; j<=n-i+1; ++j) { if(r[j].key<r[min].key) min = j; else if(r[j].key>r[max].key) max = j; }//for if(min!=i) r[min]↔r[i]; if(max!=n-i+1) { if(max==i) r[min]↔r[n-i+1]; else r[max]↔r[n-i+1]; }//if i++; }//while }//sort-笔试面试资料
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 阅读下列排序算法,并与已学算法相比较,讨论算法中基本操作的执行次数。 void sort(SqList &r, int n) { i=1; while (i<n-i+1) { min = max = 1; for(j=i+1; j<=n-i+1; ++j) { if(r[j].key<r[min].key) min = j; else if(r[j].key>r[max].key) max = j; }//for if(min!=i) r[min]↔r[i]; if(max!=n-i+1) { if(max==i) r[min]↔r[n-i+1]; else r[max]↔r[n-i+1]; }//if i++; }//while }//sort-笔试面试资料