继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

降蓝
关注TA
已关注
手记 15
粉丝 0
获赞 0

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

课程内容:

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

冒泡排序的特点

冒泡排序的优化方法

课程收获

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

冒牌排序算法

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

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

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

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

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

选择排序

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

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

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

插入排序

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP