一道算法的选择题
已知数据表A中的每个元素距其最终位置不远,为节省时间,应采用的算法
A堆排序 B直接插入排序 C快速排序 D B和C
人气:395 ℃ 时间:2020-06-13 22:53:00
解答
应该选B我也不太清楚为什么
堆排序经常把元素从表的这里换到那里,而且经常是大幅度地换 比如从表头换到表尾之类的,很浪费时间.
快速排序在元素已经比较有序的时候,界值的选取常常会是最大值或最小值,这样划分效果不好,容易退化成O(n^2)的时间复杂度.
选择排序要把所有数据都重新弄到表尾,同样无法利用“每个元素距其最终位置不远”的条件,效率也不好.
只有插入排序在每个元素距其最终位置不远时,由于调整仅仅是小范围内调整,效率比较理想.
推荐
- 一杯水喝了四分之一,又喝了余下的四分之三,这时杯中的水还有:十六分之三.
- 一道关于 总价法 的选择题
- 已知A,B两岛相距100km,B在A的北偏东30度,甲船自A以40km/h的速度向B航行,同时,乙船自B以30km/h速度沿东偏南60度方向航行,当两船子间距离最小时,两船合计航行距离为?
- 7.Had Paul received six more votes in the last election,he __c__________our chairman now.
- 一般来说,最快的排序算法是()
- 甲、乙两种固体物质的溶解度在20度时都为30g,则在20度时,两种物质的饱和溶液中溶质的质量相等吗?
- 已知直线l过点P(-1,2),且与以A(-2,-3)、B(3,0)为端点的线段相交,求直线l的斜率的取值范围是 _ .
- 两个整数的最小公倍数为140,最大公约数为4,且小数不能整除大数,求这两个数.
猜你喜欢