第10章习题及解答.docVIP

  • 239
  • 0
  • 约4.33千字
  • 约 8页
  • 2018-03-19 发布于河南
  • 举报
本章习题解答只给出算法描述,1~6题略。 ⒈以关键字序列(tim,kay,eva,roy,dot,jon,kim,ann,tom,jim,guy,amy)为例,手工执行以下排序算法(按字典序比较关键字的大小),写出每一趟排序结束时的关键字状态: ⑴直接插入排序; ⑵冒泡排序; ⑶直接选择排序; ⑷快速排序; ⑸归并排序; ⑹基数排序。 ⒉已知序列{503,87,512,61,908,170,897,275,653,462},请给出采用堆排序对该序列做升序排序时的每一趟结果。 ⒊有n个不同的英文单词,它们的长度相等,均为m,若n50,m5,试问采用什么排序方法时间复杂度最佳?为什么? ⒋如果只想得到一个序列中第k小元素前的部分排序序列,最好采用什么排序方法?为什么?如有这样一个序列:{57,40,38,11,13,34,48,75,25,6,19,9,7}得到其第4个最小元素之前的部分序列{6,7,9,11},使用所选择的算法实现时,要执行多少次比较? ⒌阅读下列排序算法,并与已学的算法比较,讨论算法中基本操作的执行次数。 Void sort(S-TBL r,int n){ i=1; while(in-i+1) { min=max=1; for(j=i+1;j=n-i+1;++j) { if (r[j].keya[min].k

文档评论(0)

1亿VIP精品文档

相关文档