早教吧作业答案频道 -->数学-->
排序算法折半插入排序and简单选择排序()折半插入排序:为什么比较次数最少与最多同,都是n*log2n,最多时间复杂度为O(n2)?简单选择排序:为什么比较次数均是n(n-1)/2;移动次数最少
题目详情
排序算法 折半插入排序and简单选择排序()
折半插入排序:为什么 比较次数 最少与最多同,都是n*log2n,最多时间复杂度为O(n2)?
简单选择排序:为什么 比较次数均是n(n-1)/2; 移动次数最少为0,最多为3(n-1)?
折半插入排序:为什么 比较次数 最少与最多同,都是n*log2n,最多时间复杂度为O(n2)?
简单选择排序:为什么 比较次数均是n(n-1)/2; 移动次数最少为0,最多为3(n-1)?
▼优质解答
答案和解析
折半插入排序:我对这些名称比较模糊,但如果没有猜错,应该是快速排序算法这样子的算法,或者更准确点,有一个排序算法叫做归并排序算法.因为每次都取半,而且要处理所有元素,所以理论时间时间效率是O(nlogn).但是这一类算法在一定情况下会退化成O(n^2),根据算法原理,逆向思维构造数据,是可以让算法卡出翔的.所以延伸出了随机快速排序算法这一类算法.
简单选择排序:这个算法比较简单,一共有n个元素,每个元素俩俩之间比较,肯定需要O(n^2)的时间复杂度.至于移动次数,跟算法中的比较函数有关系.当且仅当两个元素为逆序对的时候才尽享移动,所以移动次数最少可以为0,即序列在一开始就为有序.最多为3(n-1)次,因为移动元素需要n-1次,而每次做出移动需要一个辅助空间,即t = a,a = b,b = t,这就是常数3的由来.
本人大学生ACMer,看到这个问题就手打了一下,我以上所有回答都需要斟酌,不排除有出错的地方.恳请发现错误的网友帮忙斧正,@海胖博客
简单选择排序:这个算法比较简单,一共有n个元素,每个元素俩俩之间比较,肯定需要O(n^2)的时间复杂度.至于移动次数,跟算法中的比较函数有关系.当且仅当两个元素为逆序对的时候才尽享移动,所以移动次数最少可以为0,即序列在一开始就为有序.最多为3(n-1)次,因为移动元素需要n-1次,而每次做出移动需要一个辅助空间,即t = a,a = b,b = t,这就是常数3的由来.
本人大学生ACMer,看到这个问题就手打了一下,我以上所有回答都需要斟酌,不排除有出错的地方.恳请发现错误的网友帮忙斧正,@海胖博客
看了 排序算法折半插入排序and...的网友还看了以下:
如图,M、N两点分别在点电荷-Q的周围两等势面上,则()A.M点的场强较N大B.M点电势较N高C. 2020-06-06 …
学校新建一个阶梯教室,第一排有38个座位,第二排有40个座位,第三排有42个座位⋯⋯第十排有多少个 2020-06-14 …
将一粗细均匀的金属丝在圆柱形杆上紧密排绕n圈,如图所示,线圈总长度L是cm,则金属丝的直径d=.测 2020-06-26 …
算法的时间复杂度冒泡排序法最坏要比较0.5n(n+1)次,答案说时间复杂度为O(0.5n(n+1) 2020-07-23 …
N和Cl的半径比较那个,你回答的那个问题半径比较里用N和P比,N小,P和Cl比,可是P的半径大于C 2020-07-30 …
将1、2、3、…、N按顺序写成一个多位数12345678910111213…N,求N的最小值,使得 2020-07-31 …
某电影院共有25排座位,第一排有20个座位,后面每一排都比前一排多1个座位.那么,每排的座位数m与 2020-08-04 …
将正整数按如图所示排列,用有序数对对(n,m)表示n牌,左到右排列第m个数,如(4,4)表示10图: 2020-10-30 …
在m(m≥2)个不同数的排列…中,若1≤i<j≤m时(即前面某数大于后面某数),则称与构成一个逆序. 2020-11-20 …
H、C、N、F、Al、Ca、Ni、Cu是中学阶段常见的元素,回答下面几个小题(1)基态Ni的外围电子 2020-12-10 …