IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 对十大排序算法的理解与部分代码实现 -> 正文阅读

[数据结构与算法]对十大排序算法的理解与部分代码实现

一、冒泡排序

说到排序算法,最先令人想到的是最简单的冒泡排序(小到大的顺序)。其原理为:从头开始,遍历当前元素和后一个元素,如果后一个比当前小,则交换,一轮遍历下来会将最大的元素置于最末尾(叫冒泡就很形象),长度为n 数组需要遍历n-1次,两个for 循环控制即可!时间复杂度为O(n^2)

?

?二、快排

快排的核心思想就是,一次遍历(一次排序)使得前半部分个数 均小于中间数,后半部分数均大于中间数,中间数一般选择最后一个数。然后对前半部分与后半部分递归使用排序函数,达到最终的排序目标,快排的时间复杂度为O(nlogn)- O(n^2)

?理解三个while ,就是理解了快排的核心

三、归并

归并的核心思想就是分割然后排序(分冶的思想):

?merge_sort 为分割函数,不断的平均分割然后用merge 函数实现融合(merge 函数的实现思路不难,但要注意其实现过程)!时间复杂度为O(nlogn)

四、插入排序

和冒泡排序很像,从第二个元素开始,当前元素与前一个元素比较,小则交换,大则不变,依次下去直到最后一个元素

五、选择排序

每次在序列中找出最大的元素(max()方法),放在最后面,依次在剩余序列中重复,时间复杂度为O(n^2)

六、希尔排序

和增量序列排序有关,比如增长序列的值选择1,则需要分别排序奇数位置和偶数位置的序列。依次,希尔排序为一种非稳定排序算法

七、堆排序

先将序列化为二叉树,然后如果是最大堆排序则保证父节点值大于孩子值,从下往上确定有序区域

八、桶排序

将序列通过桶函数映射到桶中,桶是有序的,桶中元素再进行排序,最后输出为桶(桶中有序元素)的顺序!桶排序的复杂度取决于桶函数的选择

九、基数排序(LSD、MSD)

就是将排序元素分割成个位、十位、百位等,LSD为先低位排序、MSD为先高位排序

十、计数排序

计数排序为比较排序算法中最快的,如果一个数,在序列中有n个比其小的数,其位置应为n+1,类似于这样。时间复杂度为O(n),但缺点是需要开辟额外的存储空间!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:36:44  更:2022-09-04 01:37:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 20:33:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码