比较直接插入排序、起泡排序、简单选择排序、快速排序、堆排序、2一路归并排序和基数排序的算法性能,
比较直接插入排序、起泡排序、简单选择排序、快速排序、堆排序、2一路归并排序和基数排序的算法性能,并填写下表:
A.O(n2)
B.O(n)
C.O(1)
D.O(nlogn)
E.O(dn)
解析:1.按平均的时间性能来分,有3类排序方法:1)时间复杂度为O(niogn)的方法有:快速排序、堆排序和归并排序。其中快速排序目前被认为是最快的一种排序方法,后两者之比较,在n值较大的情况下,归并排序较堆排序更快。2)时间复杂度为O(n2)的有:插入排序、起泡排序和选择排序。其中以插入排序为最常用,特别是对于已按关键字基本有序排列的记录序列尤为如此,选择排序过程中记录移动次数最少。3)时间复杂度为O(n)的排序方法只有基数排序一种。●当待排记录序列按关键字顺序有序时,插入排序和起泡排序能达到O(n)的时间复杂度;而对于快速排序而言,这是最不好的情况,此时的时间性能蜕化为O(n2),因此应尽量避免。●选择排序、堆排序和归并排序的时间性能不随记录序列中关键字的分布而改变。●以上对排序的时间复杂度的讨论主要考虑排序过程中所需进行的关键字之间的比较次数。当待排序记录中其他各数据项比关键字占有更大的数据量时,还应考虑到排序过程中移动记录的操作时间,有时这种操作的时间在整个排序过程中占的比例更大,从这个观点考虑,简单排序的3种排序方法中起泡排序效率最低。2.按排序过程中所需的辅助空间大小来分。1)所有的简单排序方法(包括;插入、起泡和选择排序)和堆排序的空间复杂度均为O(1)。2)快速排序为O(nlogn),为递归程序执行过程中栈所需的辅助空间。3)归并排序和基数排序所需辅助空间最多,其空间复杂度为O(n)。
用1,7,0,4这四个数字写成一个四位数,可以写出很多种排法.请问有多少种排法?将这些排的四位数从 数学 2020-05-13 …
有关冒泡排序相对冒泡排序算法,选择排序具有较高的排序效率.若用冒泡排序和选择排序对100个杂乱无章 数学 2020-07-23 …
excel的排序问题2007版的excel对多行文字进行排序,在排序对话框中,选中了一列,排序依据 其他 2020-07-28 …
有7名女生排成一排.若甲必须站在乙的右边(可不相邻),有几种排法?(别用列举法,用有7名女生排成一 数学 2020-08-01 …
数据结构求答案单选题第1题(2)分排序趟数与序列的原始状态有关的排序方法是()排序法。A、插入B、选 其他 2020-12-05 …
求一种数字筛选工具可以从连续多个数字中排除某一个数字的工具举例说明号码从1020开始排列连续一千个数 数学 2020-12-24 …
安排5名选手的演讲顺序时,要求某名选手不第一个出场,另一名选手不最后一个出场,则不同排法的总数是(用 数学 2021-01-01 …
某校6名同学进入演讲比赛的终极PK,要求安排选手A不是第一个上场也不是最后一个,选手B和C必须相邻则 数学 2021-01-01 …
分别求出符合下列要求的不同排法的种数(1)6名学生排3排,前排1人,中排2人,后排3人;(2)6名学 其他 2021-01-12 …
关于数据结构的题1、填空题1.快速排序和堆排序的平均时间复杂度分别为和。2、选择题1.下面给出的四种 其他 2021-01-14 …