@Python实现了基于鼓泡的排序和快速排序
气泡排序#气泡排序:比较两个相邻的数字,将较大的数字向后移动一个位置,并将最大值(升序)或最小值(降序)放在每个循环的末尾
#冒泡等级a=[ 6,1,9,2,15,11 ] num=len (a ) forninrange(0,num-1 ) : is _ change=falseforminrange a[m] #比较相邻的两个值,a[m]和a[m 1]的交换位置is _ change=trueifnotis _ change 3360 break print (a )的最佳时间复杂度为33330
最差的时间复杂度3360o(n^2) ) )
空间复杂度:o(1) ) ) ) ) )。
#例如冒泡排序
a=[ 6,1,9,2,15,11 ]
气泡排序按从小到大的顺序对a进行排序
六、一、九、二、十五、十一
第一次循环
一、一、六、九、二、十五、十一
尼,1,6,9,2,15,11
三、一、六、二、九、十五、十一
四、一、六、二、九、十五、十一
五、一、六、二、九、十一、十五
第二次循环
一六二九十一
一、一、六、二、九、十一
二、一、二、六、九、十一
三、一、二、六、九、十一
四、一、二、六、九、十一
第三次循环
1,2,6,9
一、一、二、六、九
二、一、二、六、九
三、一、二、六、九
第四次循环
1,2,6
一、一、二、六
二、一、二、六
第五次循环
一二
一、一、二
快速排序#快速排序:按顺序比较第一个数和所有剩馀数,并以最大值(降序)或最小值(升序)对每个循环进行排序
#快速排序: a=[ 6,1,9,2,15,11 ] num=len (a ) forIinrange(0,num-1 ) : forjinrange (i1,num ) :o
最差的时间复杂度3360o(n^2) ) )
空间复杂度:o(1) ) ) ) ) )。
#快速排序
例如:6、1、9、2、15、11
一、九、二、十五、十一
2、6、15、11
6、15、11
9、15、11
11 15
15