对一个具有7个记录的文件进行快速排序,请问: 在最好情况下需进行多少次比较?说明理由,并给出相应实例。

admin2019-08-15  18

问题 对一个具有7个记录的文件进行快速排序,请问:
在最好情况下需进行多少次比较?说明理由,并给出相应实例。

选项

答案在最好情况下,由于快速排序是一个划分子区间的排序,每次划分时最好能得到两个长度相等的子文件。设文件的长度为n=2k一l,显然,第一遍划分得到两个长度均为[n/2]的子文件。第二遍划分得到4个长度均为[n/4]的子文件,以此类推,总共进行k=log2(n+1)遍划分,各文件的长度均为1,此时排序结束。由于n=7,k=3,在最好情况下,第一遍经过6次,可找到一个基元是正中间的元素;第二遍分别对两个子文件(此时长度为3)进行排序,各需要2次,这样就可将整个文件排序完毕,从而知n=7的最好情况下需进行10次比较。例如:4,7,5,6,3,l,2。

解析
转载请注明原文地址:https://kaotiyun.com/show/QKCi777K
0

最新回复(0)