分享好友 最新资讯首页 最新资讯分类 切换频道
数据结构-排序算法
2024-12-29 00:13

一、插入排序(从小到大为例)

​ 算法思想(直接)插入排序在我看来就是一小段一小段的从前到后分段的排序。从第二个元素开始,设置下标为i,将每轮循环的第i个元素当作Key与其前面的元素做对比。找到下标j对应的arr[j]的值比Key小而arr[j+1]的值比Key大的位置,将其插入,然后继续下一次的循环直到结束。

数据结构-排序算法

​ 时间复杂度:O(n²)

 
 

二、折半插入排序(从小到大为例)

​ 算法思想:折半插入排序是插入排序基于二分法的优化。直接插入排序在每次与第i个元素前面的元素做对比的时候是顺序对比的,而在i前面的元素是排序完成后的,故只需通过二分法找到第i个元素值应该插入的位置即可。

​ 时间复杂度:O(n²)

 

三、希尔排序(从小到大

​ 算法思想:希尔排序在我看来是采用类似极限思想的对插入排序的优化。此算法设置一个间隔,间隔一般取数组长度的1/2向下取整。根据此间隔将本来的数组分组,然后在组内使用插入排序,同时减半间隔大小直到间隔为1,达到基本有序后最后一次插入排序,完成排序。

 

四、冒泡排序(从小到大

​ 算法思想:若传入的数组元素个数为n,则默认需要进行n-1趟排序。每趟排序过程中对元素两两进行比对,符合条件进行交换,将最大或最小的值向冒泡一样排序到数组一端。可设置一个类型的变量flag来判断数组是否进行了交换,若无发生交换则代表有序。

​ 时间复杂度:O(n²)

 

五、快速排序(从小到大

​ 算法思想:快排的思想就是通过设定一个基准值(一般为数组第一个值)来通过low和high两个指针来对比数组中的值确定基准值base的最终排序位置(low为低位,high为高位)。在此期间先向左移动high指针直到找到一个比基准值base小的元素,将此元素放到当前low的位置;随后开始向右移动low指针直到找到比base大的元素,再将此元素放到当前high的位置。按此规律一直进行下去直到low和high指向同一位置,即为base应该在的最终排序位置。这样就将其划分为了另外两个子表,再递归的将划分出的两个子表快排,直到low>high,即整个序列有序。

​ 时间复杂度:最好情况:O() 最坏情况:O(n²)

​ 快速排序是所有内部排序算法中平均性能最优的排序算法。

 

六、简单选择排序(从小到大

​ 算法思想:依次从数组元素中找出最小(或最大)的元素放在首位。最后只剩一个元素时不需要再对比排序 。

​ 空间复杂度:O(1) 时间复杂度:O(n²) 稳定性:不稳定

 

七、堆排序

​ 算法思想:堆排序就是将序列建立成大根堆(或小根堆)的形式,然后将堆顶(也就是数组最大值,建立成大根堆后的数组的第一个元素)与数组的最后一个元素呼互换,以此来将数组最大值放到数组的最后边。然后数组的长度减一,对前面的n-1个元素继续上面的操作,直到数组排序完成。

​ 注:大顶堆即为父节点大于左右孩子的完全二叉树,将大根堆形成的完全二叉树层序遍历即为大根堆的数组。

最新文章
众芯汉创获得前后端代码生成专利:AI技术如何变革软件开发?
2024年12月14日,众芯汉创(北京)科技有限公司成功获得了一项名为“一种基于文本AI模型的前后端代码生成及部署系统”的专利,授
深度学习(二)框架与工具:开启智能未来之门(2/10)
一、深度学习框架:引领智能变革的利器 深度学习框架在人工智能领域中扮演着至关重要的角色,堪称引领智能变革的利器。随着人工
社群营销系统-社群营销管理系统-社群管理系统-社群公社系统
社群营销系统,社群营销管理系统,社群管理系统,社群公社系统————一、社群营销系统介绍:火爆的社群营销,建立自己的本地私
柯姓股民向梅雁吉祥发起索赔 凌铮律师接受咨询
  12月13日消息,新浪股民维权平台今日收到柯姓股民针对(维权)的维权申请,目前该维权咨询已被凌铮律师接受。新浪股民维权平
【5721(电信4G)WiFi万能钥匙下载】酷派5721 电信4GWiFi万能钥匙5.1.02免费下载
下载WiFi万能钥匙,认准官方正版!免费安全WiFi热点,无忧一键连接。日常任务随时做,轻松赚现金外快~【积分赚钱】完成简单日常
淘宝促销价背后的真相揭秘
在网购的海洋里,淘宝无疑是一座巨大的购物宝库,每天,数以万计的商品在这里上架、下架、打折、促销,而其中最吸引人的莫过于那
海口一男子被骗走17万元!只因下了个同城约会软件
  来源:直播海南   都说“色”字头上一把刀  海口市民小刘却不以为然  下载陌生APP想要同城约会  没想到掉进诈骗分子
景观设计师是否会被AI替代?北林团队研究出自动设计黑科技后,给出这样的结论
技术日新月异,人类工作方式正在快速转变。这一切给人类历史带来了一系列不可思议的奇点,我们曾经熟悉的一切,都开始变得陌生。
支付宝首页惊现加密货币基金广告?
以犯罪的立场看待事物的真相以人性的角度分析案件的本质有事付费咨询没事多看文章本文已开放快捷转载,同行可联系后免费授权(无