冒泡排序和插入排序对比

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

区别在于

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

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

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

而插入排序呢恰恰相反

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

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

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

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

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

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

 

 

    原文作者:张宏宽
    原文地址: https://blog.csdn.net/weixin_49795728/article/details/114650922
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞