为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第8天 算法与数据结构笔记3.md

课程名称算法与数据结构
课程章节冒泡排序,希尔排序和排序算法大总结 1-4冒泡排序还能排序
主讲老师:Liuyubobobo

课程内容:

基础排序算法:选择、插入、冒泡、堆排序法 的基本概念

冒泡排序的特点

冒泡排序的优化方法

课程收获

常见排序算法的时间复杂度

冒牌排序算法

冒泡排序(英语:Bubble sort)是一种简单的排序算法。由于在算法的执行过程中,较小的元素像是气泡般慢慢「浮」到数列的顶端,故叫做冒泡排序。

冒泡排序是最直观的基于比较的排序算法。策略是依次比较两个相邻的元素,如果逆序就交换。当整个序列中没有逆序的元素(没有发生交换),那么排序就完成了。否则重新遍历这一序列。

  • 比较相邻的两个数,如果第一个数比第二个数大,则两数交换。

  • 对之后的相邻元素进行同样的工作,从开始到最后一对,这样进行一次排序后,数据的最后一位会是最大值

平均和最坏时间复杂度均为 O(n2) ,最优时间复杂度(序列已经有序时)为 O(n) 。图片描述

选择排序

  • 每次找出第 i 小的元素,再与数组第 i 位交换。

由于随意的交换元素,选择排序不是一种稳定的排序算法。

最优时间复杂度、平均时间复杂度和最坏时间复杂度均为 O(n2) 。

插入排序

插入排序(英语:Insertion sort)是一种简单直观的排序算法。它的工作原理为将待排列元素划分为“已排序”和“未排序”两部分,每次从“未排序的”元素中选择一个插入到“已排序的”元素中的正确位置。
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消