早教吧 育儿知识 作业答案 考试题库 百科 知识分享

排序算法折半插入排序and​简单选择排序()折半插入排序:为什么比较次数最少与最多同,都是n*log2n,最多时间复杂度为O(n2)?简单选择排序:为什么比较次数均是n(n-1)/2;移动次数最少

题目详情
排序算法 折半插入排序and​简单选择排序()
折半插入排序:为什么 比较次数 最少与最多同,都是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,看到这个问题就手打了一下,我以上所有回答都需要斟酌,不排除有出错的地方.恳请发现错误的网友帮忙斧正,@海胖博客
看了 排序算法折半插入排序and​...的网友还看了以下:

2010年3月14日,十一届全国人大三次会议表决通过了关于修改《中华人民共和国》的决定,我国城乡居  2020-06-17 …

在选举过程中常用差额选举(候选人数多于当选人数).某班选举班长,具体方法是:筹备选举,由班主任提名  2020-06-25 …

在选举过程中常用差额选举(候选人数多于当选人数).某班选举班长,具体方法是:筹备选举,由班主任提名  2020-06-25 …

五年级一班有男生30名,女生20名,现在要挑选1名同学参加学校文艺队,共有种不同的挑选方法;如果要  2020-07-11 …

概率可以乘么?以选股票为例:以选股票为例:已知有三种不同选股票的方法,其失败率分别为30%,40%,  2020-11-03 …

某学校为高二年级开展第二外语选修课,要求每位同学最多可以选报两门课程.已知有75%的同学选报法语课,  2020-11-24 …

2010年3月,十一届全国人大三次会议高票通过了选举法修正案。修改后的选举法规定,我国城乡居民按相同  2020-11-28 …

象棋兴趣小组一共有9名同学,请问:(1)如果从中选3名同学在第二天的早上、中午、晚上分别做值日,共有  2020-12-01 …

五年级一班有男生30名,女生20名,现在要挑选1名同学参加学校文艺队,共有种不同的挑选方法;如果要挑  2021-01-01 …

从8对夫妇中选3人参加会议,规定一对夫妇不能同时当选,则不同选法共...从8对夫妇中选3人参加会议,  2021-01-01 …