有一种简单的排序算法,叫做计数排序。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个元素,扫描待排序的表一趟,统计表中有多少个元素的关键字比该元素的关键字小。假设对某一个元素,统计出该数值为c,那么这个元素在新的有序表中的合适的存放位置即为c。 (1)设计实现计数排序的算法。 (2)对于有n个元素的表,比较次数是多少? (3)与简单选择排序相比,哪种方法是否更好?为什么?
有一种简单的排序算法,叫做计数排序。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个元素,扫描待排序的表一趟,统计表中有多少个元素的关键字比该元素的关键字小。假设对某一个元素,统计出该数值为c,那么这个元素在新的有序表中的合适的存放位置即为c。 (1)设计实现计数排序的算法。 (2)对于有n个元素的表,比较次数是多少? (3)与简单选择排序相比,哪种方法是否更好?为什么?
参考答案和解析
错误
相关考题:
如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。(41)是稳定的排序方法,因为这种方法在比较相邻元A.冒泡排序B.希尔排序C.快速排序D.简单选择排序
有一种简单的排序算法,叫做计数排序。这种排序算法对一个待排序的表进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键字比该记录的关键字小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。① 给出适用于计数排序的顺序表定义;② 编写实现计数排序的算法;③ 对于有n个记录的表,关键字比较次数是多少?④ 与简单选择排序相比较,这种方法是否更好?为什么?
以下关于排序算法的叙述中,正确的是( )。A.冒泡排序法中,元素的交换次数与元素的比较次数一定相同B.冒泡排序法中,元素的交换次数不少于元素的比较次数C.简单选择排序中,关键字相同的两个记录在排序前后的相对位置一定不变D.简单选择排序中,关键字相同的两个记录在排序前后的相对位置可能交换
若排序前后关键字相同的两个元素相对位置不变,则称该排序方法是稳定的。下列排序算法中,有(14)种排序算法是稳定的:归并排序、快速排序、希尔排序、堆排序、基数排序、直接插入排序、冒泡排序、直接选择排序。A.3B.4C.5D.6
● 如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。 (41) 是稳定的排序方法,因为这种方法在比较相邻元素时,值相同的元素并不进行交换。(41)A. 冒泡排序B. 希尔排序C. 快速排序D. 简单选择排序
快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了( )算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为(请作答此空)。
排序算法的稳定性是指( )。A.经过排序后,能使关键字相同的元素保持原顺序中的相对位置不变B.经过排序后,能使关键字相同的元素保持原顺序中的相对位置改变C.排序算法的性能与被排序元素个数关系不大D.排序算法的性能与被排序元素个数关系密切
如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的,()就是不稳定的排序方法。A、起泡排序B、归并排序C、Shell排序D、直接插入排序E、简单选择排序
排序算法中,从尚未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是()A、折半插入排序B、直接插入排序C、归并排序D、选择排序
对用数组存储的线性表(16,15,32,11,6,30),用快速排序算法进行由小到大排序,若排序下标范围为0~5,选择元素16作为支点,调用一趟快速排序算法后,元素16在数组中的下标位置为()
如果待排序序列中两个数据元素具有相似的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的,()就是不稳定的排序算法。A、起泡排序B、归并排序C、Shell排序D、直接插入排序E、简单选择排序
填空题对用数组存储的线性表(16,15,32,11,6,30),用快速排序算法进行由小到大排序,若排序下标范围为0~5,选择元素16作为支点,调用一趟快速排序算法后,元素16在数组中的下标位置为()
单选题在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是__(1)__。从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为__(2)__。设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用__(3)__排序法。空白(1)处应选择()A希尔排序B起泡排序C插入排序D选择排序
单选题在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是__(1)__。从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为__(2)__。设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用__(3)__排序法。空白(2)处应选择()A希尔排序B起泡排序C插入排序D选择排序
单选题下列内部排序算法中在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,kA快速排序B直接插入排序C二路归并排序D简单选择排序E.起泡排序F.堆排序