冒泡排序的优缺点

冒泡排序优点:比较简单,空间复杂度较低,是稳定的缺点:时间复杂度太高,效率不好

排序的算法有很多,对空间的要求及其时间效率也不尽相同.下面列出了一些常见的排序算法.这里面插入排序和冒泡排序又被称作简单排序,他们对空间的要求不高,但是时间效率却不稳定;而后面三种排序相对于简单排序对空间的要求稍高

冒泡排序,在每一次比较的时候,如果发现相邻两数的次序不对,都会马上就把两数进行对调.选择排序,则在比较过程中(内循环里面)并不进行对调,而是先记录下最小(大)数的下标,在一次扫描完成后再进行对调.所以它的效率会比冒泡的高一点.但是冒泡排序是“稳定的”排序.就是说同样总分的若干名同学,排序前在前面的,排序后这些同学的相互位置不会发生改变.而选择排序则是“不稳定的”排序.就是说同样总分的若干名同学,排序前原来相对排在前面的,排序后有可能会变到后面.

每种排序都有各自的优点冒泡排序是全部比较之后交换选择排序是比较之后马上交换都是很经典的方法 选择排序比冒泡要效率高一些

1、冒泡排序法:一趟一趟的将两个相邻的数进行交换如果有10个数则需要排9躺,如果是从 大到小输出则需要每次将后一个数和前一个数进行比较将较大的数赋值给钱一个数,将较小的数赋值给后一个数,其实就是两个数交换,那么第一趟交

相同点:1.都要通过n-1组排出具有n个数的顺序;2.都是通过逐个相比,比出最值的;不同点:1.冒泡法,顾名思义就是把小的泡冒到上面,大的泡沉到下面,最值在中间和其他的值交换;而选择法,是假定了一个最值,所以最值和其他的值的交换就发生在假定最值的地方;其实冒泡法和选择法的区别不大,都是效率比较低的方法.

譬如你定义了一个动态数组a[500].那么它所占内存就是sizeof(a)除以1024得到的单位就是KB其实不应该是看出来的,而应该是算出的.冒泡排序不需要额外的空间(除了交换所需的一个变量),空间复杂度是O(n)[即必须把那些元素存起来〕.而二叉排序树需要新建一棵树.如果一边读入一边插入,需要N个位置.如果先读进来再建树,需要2N.所以其空间复杂度也是O(n)的.不明白的可以Q我:328880142

结果为456第三步:i2,n3,此时in1,算法结束完成排序算法快速排序现在开始,我们要接触高效排序算法了

是这样的 区别主要在交换的方式上 每一轮都把最大或最小的元素筛选出来放在相应的位置上 这是相同的 但是 对于每一轮 比如第一轮 要把1~n 中最大的那个放到n这个位置 冒泡法每次比较和移动相邻的两项 而选择排序每次交换当前项和第n项 我把代码写出来你就懂了:冒泡:for i:=1 to n-1 do if (a[i]>a[i+1]) then swap(i,i+1); 选择:for i:=1 to n-1 do if (a[i]>a[n]) then swap(i,n);(swap 表示交换) 总的来说,两种排序比较的次数是相同的 但交换的次数,选择排序是更少的 虽然两者的时间复杂度都是 O(n^2) 但通常,选择排序更快一点

算法和语言没关系.算法只是一种思想,语言是实现算法的工具.任何编程语言都可以实现这些算法.排序的算法有很多,对空间的要求及其时间效率也不尽相同.下面列出了一些常见的排序算法.这里面插入排序和冒泡排序又被称作简单排序

相关文档

冒泡排序法优缺点
js冒泡排序的优缺点
选择排序的优缺点
冒泡排序法的好处
冒泡排序改进算法
冒泡排序升序和降序的区别
冒泡排序与选择排序优缺点
c语言中冒泡排序的优缺点
ymjm.net
9371.net
tongrenche.com
alloyfurniture.com
jingxinwu.net
电脑版