下列关于折半插入排序的描述中,哪个是错误的?
答案解析
核心考点说明:本题考察对折半插入排序特性和与其他排序方法差异的理解。
解题思路分析:需要明确折半插入排序的原理,以及它与直接插入排序的区别。
每个选项的详细分析:
A. 折半插入排序利用了折半查找来减少比较次数:这是正确的。折半插入排序使用二分查找来确定插入位置。
B. 折半插入排序的比较次数少于直接插入排序:这是正确的。因为折半查找的效率比线性查找高。
C. 折半插入排序的移动次数也少于直接插入排序:这是错误的。折半插入排序和直接插入排序都需要移动元素以给新元素腾出位置,移动次数和直接插入排序是一致的。
D. 折半插入排序是一种稳定的排序算法:这是正确的。元素值相同的情况下,插入位置不会改变,保持了相对顺序。
易错点提醒:容易认为折半插入排序在所有方面都优于直接插入排序,忽略了移动元素步骤的复杂度没有改变的事实。
详细步骤:
1. 折半插入排序的核心是优化了查找插入位置的过程,使用折半查找。
2. 虽然比较次数减少了,但移动元素的次数和直接插入排序一样,都需要将后面的元素后移。
3. 折半插入排序是一种稳定的排序算法,因为只有大于或者等于当前元素才需要后移。
正确答案的关键依据:折半插入排序的移动次数没有减少。
错误选项的具体问题:选项C错误地认为移动次数也减少了。
正确答案:C