课程名称:算法与数据结构
课程章节:冒泡排序,希尔排序和排序算法大总结 1-4冒泡排序还能排序
主讲老师:Liuyubobobo
课程内容:
基础排序算法:选择、插入、冒泡、堆排序法 的基本概念
冒泡排序的特点
冒泡排序的优化方法
课程收获
常见排序算法的时间复杂度
冒牌排序算法
冒泡排序(英语:Bubble sort)是一种简单的排序算法。由于在算法的执行过程中,较小的元素像是气泡般慢慢「浮」到数列的顶端,故叫做冒泡排序。
冒泡排序是最直观的基于比较的排序算法。策略是依次比较两个相邻的元素,如果逆序就交换。当整个序列中没有逆序的元素(没有发生交换),那么排序就完成了。否则重新遍历这一序列。
-
比较相邻的两个数,如果第一个数比第二个数大,则两数交换。
-
对之后的相邻元素进行同样的工作,从开始到最后一对,这样进行一次排序后,数据的最后一位会是最大值
平均和最坏时间复杂度均为 O(n2) ,最优时间复杂度(序列已经有序时)为 O(n) 。
选择排序
- 每次找出第 i 小的元素,再与数组第 i 位交换。
由于随意的交换元素,选择排序不是一种稳定的排序算法。
最优时间复杂度、平均时间复杂度和最坏时间复杂度均为 O(n2) 。
插入排序
插入排序(英语:Insertion sort)是一种简单直观的排序算法。它的工作原理为将待排列元素划分为“已排序”和“未排序”两部分,每次从“未排序的”元素中选择一个插入到“已排序的”元素中的正确位置。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦