一道算法的选择题已知数据表A中的每个元素距其最终位置不远,为节省时间,应采用的算法A堆排序 B直接插入排序 C快速排序

一道算法的选择题
已知数据表A中的每个元素距其最终位置不远,为节省时间,应采用的算法
A堆排序 B直接插入排序 C快速排序 D B和C
kmnhj 1年前 已收到1个回答 举报

nutter88 幼苗

共回答了17个问题采纳率:100% 举报

应该选B我也不太清楚为什么
堆排序经常把元素从表的这里换到那里,而且经常是大幅度地换 比如从表头换到表尾之类的,很浪费时间.
快速排序在元素已经比较有序的时候,界值的选取常常会是最大值或最小值,这样划分效果不好,容易退化成O(n^2)的时间复杂度.
选择排序要把所有数据都重新弄到表尾,同样无法利用“每个元素距其最终位置不远”的条件,效率也不好.
只有插入排序在每个元素距其最终位置不远时,由于调整仅仅是小范围内调整,效率比较理想.

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.011 s. - webmaster@yulucn.com