早教吧 育儿知识 作业答案 考试题库 百科 知识分享

在堆排序的过程中为什么要从n/2到1的顺序进行建堆过程而不是反过来?

题目详情
在堆排序的过程中为什么要从n/2到1的顺序进行建堆过程而不是反过来?
▼优质解答
答案和解析
直接选择排序中,为了从R[1..n]中选出关键字最小的记录,必须进行n-1次比较,然后在R[2..n]中选出关键字最小的记录,又需要做n-2次比较.事实上,后面的n-2次比较中,有许多比较可能在前面的n-1次比较中已经做过,但由于前一趟排序时未保留这些比较结果,所以后一趟排序时又重复执行了这些比较操作.
堆排序可通过树形结构保存部分比较结果,可减少比较次数.
看了在堆排序的过程中为什么要从n/...的网友还看了以下: