冒泡排序和插入排序对比

冒泡排序和插入排序都是两层for循环,时间复杂度O(n)

区别在于

冒泡排序是拿一个元素和无序序列去遍历比较,比较得到整个无序序列中最值,然后放入有序序列,而一旦放入有序序列,就不再碰了

冒泡排序的当前元素是无论如何不会触摸有序序列的

非常生动的体现了冒泡的情形,泡泡是乱的,最大的泡泡在大大小小杂乱无章的泡泡群中漂浮到最上面

而插入排序呢恰恰相反

插入排序是拿一个元素和有序的数列去比,从单一元素的假有序一个一个加,拿一个元素进入有序序列,碰到比自己大或小的就即刻坐下,不再继续比较

插入排序的当前元素是无论如何不会触摸无序序列的

冒泡排序因为是无序,所以你即使遇到下一个比自己大,你不知道后面有没有更大的,你只能换一下,把手中的换成刚刚比较出更大的,去比接下来的

冒泡的每一次冒,都要把无序序列轮一遍

插入排序恰恰相反,一旦你遇到比自己大或小的了,你就知道,后面都是比自己大或小的,就没必要再继续往前走了,现在坐下,当前元素就进入了有序序列

插入的每一次插,都不一定要轮一遍有序序列

 

 

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值