直接选择排序 直接选择排序是一种很直观的排序方法。其操作是这样:先在未排序的序列中选择最小的元素(或最大的元素),把它与第一个元素交换,放在第一个位置,再在剩余未排序序列中选择第二小的,与第二个元素交换,放在第二个位置,以此类推,直到所有序列排序完毕。 这种排序方法应该是大部分人最直观的一种排序方法...
直接选择排序及其稳定性分析 直接选择排序是一种很直观的排序方法。其操作是这样:先在未排序的序列中选择最小的元素(或最大的元素),把它与第一个元素交换,放在第一个位置,再在剩余未排序序列中选择第二小的,与第二个元素交换,放在第二个位置,以此类推,直到所有序列排序完毕。 这种排序方法应该是大部分人最直观...
简单选择排序是不稳定排序。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。
对于不稳定的排序算法,只要举出一个实例,即可说明它的不稳定性;而对于稳定的排序算法,必须对算法进行分析从而得到稳定的特性。 排序算法是否为稳定的是由具体算法决定的,不稳定的算法在某种条件下可以变为稳定的算法,而稳定的算法在某种条件下也可以变为不稳定的算法。 基数排序、冒泡排序、直接插入排序、折半插入排序...
举个栗子:(要求从小到大排序)8 5 8 7 9 简单选择排序:第二次外循环8和8的相对顺序就发生了改变,违反了稳定性的定义,故不稳定;冒泡排序:两两元素之间比较,并不会改变相对顺序,故稳定;当然,稳定是相对既有条件而言的,这就是另一个问题了.
答案:直接插入排序的基本思想是基于插入,开始假定第一个记录有序,然后从第二个记录开始,依次插入到前面有序的子文件中。即将记录R[i](2<=i<=n)插入到有序子序列R[1..i-1]中,使记录的有序序列从R[1..i-1]变为R[1..i] ,最终使整个文件有序。共进行n-1趟插入。最坏时间复杂度是0(n2),平均时间...
考察下列排序算法的稳定性,( )是稳定的排序算法。A.直接插人排序归并排序冒泡排序B.简单选择排序C.快速排序D.堆排序、希尔排序
在直接插入、冒泡、快速排序方法中,不具有稳定性的排序方法是()。 答案解析 (填空题) 当数据表初态基本有序的情况下,在冒泡、快速和简单选择排序方法中应选择()排序方法,从而使得排序的趟数最少。 答案解析 (填空题) 在冒泡、快速、直接插入三种排序方法中,排序的趟数与数据表的初始排列顺序无关的是()排序方...
冒泡比较简单 for i=1to29 for j=1to30-j if a(x)>a(x+1) then swapa(x),a(x+1)
在直接插入、冒泡、快速排序和简单选择排序方法中,不具有稳定性的排序方法有()。 查看答案