首页 > 编程知识 正文

快速排序和冒泡排序的优缺点,冒泡排序和快速排序的时间复杂度

时间:2023-05-03 21:08:03 阅读:29282 作者:4896

@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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。