分享好友 最新资讯首页 最新资讯分类 切换频道
六大常见排序算法(插入、堆排、希尔、选择、冒泡、快速)
2024-12-29 05:57

多多重复,百炼成钢

 
 

 

 要求升序-建大堆
 要求降序-建小堆

步骤
 1.先找到最后一个节点,然后找到他的父亲a,在a在的堆(无序,通过向下调整把该堆调整为有序(大堆或小堆
 2. 通过 i-- 找到父亲a的前一个节点b(也是另外一个堆的父亲-b,然后在父亲b所在的堆(无序)向下调整为有序
 3.迭代往根方向往上走-最后整个堆都有序(大堆或小堆

 

向下调整

 
 

gap越大,直接插入排序就越快,反而不那么有序
gap越小,直接插入排序就越慢,反而更有序

 
 
 

思路(要求升序)把第一个元素设为最小值从这里开始找,遍历一轮数组,若找到比最小值还小的元素(遍历元素里面最小的)则交换

然后把第二个元素作为最小值从这里开始找,遍历......以此类推,到最后一个元素为止

 
 

时间复杂度-最坏(O(N^2)) 最好(O(N))

空间复杂度:O(1)

稳定性:好

 
 
 

1.优化:三数取中:三个数当中取个数值大小为中间值的值

  取出来的值作为keyi

 

霍尔排序

R找比keyi小的值,找到则停下; L找比keyi大的值,找到则停下;   然后L和R交换,依次到最后碰面,把keyi和碰面时的值交换,完成排序。

最后返回碰面的下标

 

步骤

先把key(left)所在位置作为坑位

然后R先走,找到比keyi小的值则把该值填到坑位,然后该位置为新的坑位

然后L走,找到比keyi大的值则把该值填到坑位,然后形成新的坑位

以此类推,最后碰面时作为最后的坑位,把keyi填进去

最后返回最后坑位的下标

 

步骤

cur和prev一起走:如果cur遇到比keyi大的值则prev停下,则cur继续走,之后若遇到比keyi小的值则该值与prev所在的值交换

以此类推,cur越界后prev停下,此时把prev所在值与keyi交换

最后返回prev所在的下标

 
 
 

若需要需要把数组[9,8,7,6,5,4,3,2,1,0]进行升序排列

先把下标为0 9push入栈(出栈顺序为9 0 - 对应区间为[0,9]

然后取left=0 right=9 并且都pop掉 然后对该区间[left,right]进行排序

然后分为两个区间[0,4] 5 [6,9]

然后把下标为 6 9push入栈,再把 下标为 0 4 push入栈

然后取left=0,right=9 并且都pop掉然后对该区域[left,right]进行排序

然后再分区间......

以此类推

停止排序: 要么剩下一个元素 要么元素不存在(越界

 


最新文章
AIM短信就是5G消息吗?AIM短信技术原理是什么?
AIM短信(AIM消息)是让短信成为新的流量入口和服务平台,AIM短信是企业通过短信网关是向用户发送一条文字短信,手机收到短信后
AI音乐生成器Udio怎么用?Udio怎么生成音乐详细使用教程(附使用地址)
产品简介:AI音乐生成工具Udio正式发布,用户可以通过简单的文字描述创作带有歌词的音乐作品。这一新工具极大地降低了音乐创作的
APP应用开发sdk版本过低可能性原因问题排查及解决方案
同学们,在移动 app 开发中,提示sdk版本过低缺找不到原因的情况都知道的吧哈哈哈,这个我觉得我有必要全面的分析和排查,让同
AI 与通信的交织、网络优势与应用场景
聊起 AI,画面都充斥着机械语言:精密高级的芯片,光怪陆离的智能产业……你眼中的 AI 有什么样的能力?能给传统行业带来哪些变
2023 手把手教你Shopify独立站开店指导
先看下我们搭建的网站长什么样子: 接下来跟着我们的操作教程走,你会一步一步学会如何搭建一个shopify网站。包括如何制作logo
AITO问界 隐形车衣
以上页面中的产品图片及屏幕内容仅作示意,实物产品效果(包括但不仅限于外观、颜色、尺寸)和屏幕显示内容(包括但不仅限于背景
All in One SEO插件漏洞威胁三百万网站的安全
一个名为All in One SEO的非常流行的WordPress SEO优化插件含有一对安全漏洞,当这些漏洞组合成一个漏洞链进行利用时,可能会使
AI初学者基础教程,AI绘画教程入门(超详细AI绘画新手教学)_ai 基础教程
今天给大家带来的是AI绘画教程入门级别的,超详细AI绘画新手教学,如果你刚接触AI绘画,必须值得一看!
android屏幕检测 安卓机检测屏幕指令
安卓手机有屏幕校正。首先进入【设置】-【显示】-【水平校准】。将手机放在水平面上。点击【校准】。等到手机界面显示已【校准】
AI剧本分析:原理与评估、台词撰写及剧本创作全解析
随着人工智能技术的飞速发展它在影视创作领域的应用也越来越广泛。剧本分析作为一种新兴的创作形式正在逐渐改变着传统剧本的创作