关于数据结构排序算法的问题
题目
关于数据结构排序算法的问题
插入排序、选择排序、冒泡排序、基数排序、堆排序的算法中其比较次数与初始数据集顺序无关的是?请说明理由.
答案
选择排序.
选择排序的算法原理是:第一趟从n个待排关键字中找出最小的关键字放到第一个位置,如果要找到最小关键字则必须所有元素都进行比较,所以第一趟要比较n-1次;第二趟从剩下的n-1的元素中再通过n-2次的比较找出最小的元素…………以此类推,不管初始有没有序,它都一共要进行n-1趟排序共n(n-1)/2次比较,时间复杂度始终是O(n平方)
至于其他的,拿插入排序举例:插入排序的基本思想是每次将一个待排的记录按其关键字大小插入到前面已经排好序的子序列中.试想,如果已经排好序的子序列是123,待排记录为45,插入4时,只要和3比较一次就知道排在3后面,对5排序时只要与4比较一次就知道该排在4后面,共比较2次.如果已经排好序的子序列是234,待排记录为15,插入1时,它要从后往前依次比较3次才能找到自己的位置,同样对5排序时只要与4比较一次,共比较4次.由上例可知,插入排序会随着初始数据集的顺序不同而比较次数不同.
BTW,基数排序不是基于关键字比较的排序算法.
纯手打,望采纳,不清楚还可共同探讨.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 如图,在四棱锥P-ABCD中,底面ABCD中为菱形,∠BAD=60°,Q为AD的中点. (1)若PA=PD,求证:平面PQB⊥平面PAD; (2)点M在线段PC上,PM=tPC,试确定实数t的值,使得
- 碳碳单键键角109度28分,那么立方烷呢?不是九十度吗?还有很多,比如环己烷之类的,都不是109度28分
- x的平方减2x减3等于0 因式分解
- 洛阳亲友如相问,一片冰心在玉壶.
- k取何值时,关于x的方程2(x-1)=kx+1的解是(1)正数;(2)负数;(3)零
- 1prefer to do sth rather than do sth.和2.would do sth rather than do sth中, (rather )than do sth 是补语吗?
- 氧化锌中的盐酸不溶物是什么
- 若数列{an}中,an不等于0(n>=1),a1=1/2,前n项和Sn满足an=2Sn^2/2Sn-1,(n>=2),证明{1/Sn}是等差数列
- (t-根号2)^2+4根号^2t=0
- 一个加法算式可以写出两个减法算式对还是错
热门考点