问题一:
对同一个基本有序的待排序列分别进行堆排序、快速排序和冒泡排序,最省时间的算法是_____
分析:
冒泡排序 冒泡排序、快速排序、堆排序性能比较对照
排序方法 比较次数 移动次数 稳定 辅助空间
最好 最差 最好 最差 是 最好 最差
冒泡排序 n n^2 0 n^2 1 1
快速排序 nlogn n^2 logn n 否 logn n
堆排序 nlogn nlogn nlogn nlogn 否 1 1
而当待排序列已基本有序时对冒泡排序来说是最好情况。
问题二:
分析:
排序方法 最坏时间复杂度 最好时间复杂度 平均时间复杂度
直接插入 O(n2) O(n) O(n2)
简单选择 O(n2) O(n2) O(n2)
起泡排序 O(n2) O(n) O(n2)
快速排序 O(n2) O(nlog2n) O(nlog2n)
堆排序 O(nlog2n) O(nlog2n) O(nlog2n)
归并排序 O(nlog2n) O(nlog2n) O(nlog2n)
答案:D
相关推荐
几个必须知道的排序(C#)几个必须知道的排序(C#)
C#排序算法大全 冒泡排序、选择排序、插入排序、希尔排序
几个算法导论上的排序算法
比较几个数的大小并排序。先输入这几个数字,然后程序自动按照从大到小的数排列
用C语言编写的四个排序程序,包括快速排序、插入排序、自底向上排序和基数排序
10种排序算法代码+综合比较代码(直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序、折半插入排序、2路插入排序),其中不仅有各种排序算法的代码,还包含10种代码在关键字...
几个排序算法的C++实现
JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,包括算法的详细介绍,以及对几种算法的详细测试
几个用C#做的排序算法,包括冒泡排序、选择排序、改进的冒泡法排序、归并排序和插入排序
几个有用的JAVA排序算法,有气泡排序等算法,对大家有些帮助
1、常见排序算法实现(1-6选择几个算法练习) 1)问题描述:输入一组关键字序列分别实现下列排序。 (1)实现简单选择排序、直接插入排序和冒泡排序。 (2)实现希尔排序算法。 (3)实现折半插入排序。 ...
几种常见的排序方法 1. 选择排序法基本思想: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 2.插入排序(Insertion Sort)的基本思想是...
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。 【基本要求】 (1)实现各种内部排序。包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。 (2) 待排序的元素的关键字为整数...
1、插入、冒泡、选择、堆、快速、基数排序算法;2、使用C++写的;3、欢迎大家下载。
任意输入n个数 从下到大进行排序 算法思想是 第一次循环求出这些数中最小数的数组下标 之后将这个最小数和第一个数进行交换 ,第二次循环求出这个数中第二小的数 放在第二个位置 以此循环 从小到大排序
起泡排序 直接插入排序 简单选择排序 快速排序 希尔排序 堆排序
你还在苦苦寻找关于名单排序的几个问题吗?你还在为关于名单排序的几个问题而烦恼么?在这里,...该文档为关于名单排序的几个问题,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
用Java语言实现的各种排序,包括插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序、SortUtil等。 插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm....
数据结构--常用的几个排序算法,都是一些最基础的内容,同时也是笔试中经常要用的。