社区
数据结构与算法
帖子详情
折半插入排序是否稳定
yuweifamily
2011-10-04 09:44:48
请问各位大侠,折半插入排序是否稳定?
...全文
848
7
打赏
收藏
折半插入排序是否稳定
请问各位大侠,折半插入排序是否稳定?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ywf550230785
2011-10-05
打赏
举报
回复
稳定的
zju198
2011-10-05
打赏
举报
回复
是稳定的
fairywell
2011-10-04
打赏
举报
回复
[Quote=引用 3 楼 k3108001263 的回复:]
数据结构C语言版 严蔚敏
插入排序包括:
直接插入排序
折半插入排序
2-路插入排序
表插入排序
此外希尔排序也是插入排序的变体
插入排序是稳定的
[/Quote]
直接插入是稳定的,其他的自己分析下,一般可以相信书上的结论
但是严老师的书上至少关于一个排序的稳定性说法是错的
a13945149916
2011-10-04
打赏
举报
回复
lz的意思大概是总体的算法是插入排序,在内层找该插入的位置的时候用这般去搜索,复杂度是不是nlg(n)啊
应该是稳定的吧
打油的程序员
2011-10-04
打赏
举报
回复
数据结构C语言版 严蔚敏
插入排序包括:
直接插入排序
折半插入排序
2-路插入排序
表插入排序
此外希尔排序也是插入排序的变体
插入排序是稳定的
WizardOz
2011-10-04
打赏
举报
回复
没有折半插入,就算折半找到了该插入的位置,移动的时候也是一个On的移动。
fairywell
2011-10-04
打赏
举报
回复
什么叫折半插入?
插入排序是稳定的,具体参考我blog,在哪里,你自己想想 :)
数据结构
排序
算法汇总包-直接
插入
排序
折半
插入
排序
2—路
插入
排序
表
插入
排序
希尔
排序
起泡
排序
快速
排序
简单选择
排序
树形选择
排序
堆
排序
归并
排序
链式基数
排序
实现以下常用的内部
排序
算法并进行性能比较:"直接
插入
排序
","
折半
插入
排序
"," 2—路
插入
排序
"," 表
插入
排序
"," 希尔
排序
"," 起泡
排序
"," 快速
排序
"," 简单选择
排序
"," 树形选择
排序
"," 堆
排序
"," 归并
排序
"," 链式基数
排序
。 基本要求: 待
排序
表的表长不少于100;其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字移动次数(关键字交换计为3次移动)。
数据结构中的各种
排序
.doc
需求分析: 1、冒泡
排序
在要
排序
的一组数中,对当前还未排好序的范围内的全部数,自上 而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较 小的往上冒。 冒泡
排序
是
稳定
的。算法时间复杂度O(n2)--[n的平方] 2、选择
排序
在要
排序
的一组数中,选出最小的一个数与第一个位置的数交换; 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环 到倒数第二个数和最后一个数比较为止。 选择
排序
是不
稳定
的。算法复杂度O(n2)--[n的平方] 3、
插入
排序
直接
插入
排序
是
稳定
的。算法时间复杂度O(n2)--[n的平方] 4、
折半
插入
排序
折半
插入
排序
是对
插入
排序
的改进,主要通过二分查找,获得
插入
的位置
折半
插入
是一种
稳定
的
排序
排序
时间复杂度O(n^2)附加空间O(1) 5、快速
排序
快速
排序
是不
稳定
的。最理想情况算法时间复杂度O(nlog2n),最坏O(n2) 6、希尔
排序
算法先将要
排序
的一组数按某个增量d分成若干组,每组中 记录的下标相差d.对每组中全部元素进行
排序
,然后再用一个较小的增量 对它进行,在每组中再进行
排序
。当增量减到1时,整个要
排序
的数被分成 一组,
排序
完成。 7
折半
查找main.cpp
折半
插入
排序
(Binary Insertion Sort)是对
插入
排序
算法的一种改进,所谓
排序
算法过程,就是不断的依次将元素
插入
前面已排好序的序列中。
排序
思想:有一组数据待
排序
,
排序
区间为Array[0]~Array[n-1]。将数据分为有序数据和无序数据,第一次
排序
时默认Array[0]为有序数据,Array[1]~Array[n-1]为无序数据。有序数据分区的第一个元素位置为low,最后一个元素的位置为high。 遍历无序区间的所有元素,每次取无序区间的第一个元素Array[i],因为0~i-1是有序排列的,所以用中点m将其平分为两部分,然后将待
排序
数据同中间位置为m的数据进行比较,若待
排序
数据较大,则low~m-1分区的数据都比待
排序
数据小,反之,若待
排序
数据较小,则m+1~high分区的数据都比 待
排序
数据大,此时将low或high重新定义为新的合适分区的边界,对新的小分区重复上面操作。直到low和high 的前后顺序改变,此时high+1所处位置为待
排序
数据的合适位置。 时间复杂度:O(n^2)
稳定
性:
稳定
。 ———————————————— 版权声明:本文为CSDN博主「被Python玩的Kenny」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_42245157/article/details/80458542
常用数据结构及其算法的Java实现
本项目主要使用Java实现各种经典常用数据结构及其算法,包括但不仅限于链表、栈,队列,树,图等经典数据结构。 八大
排序
算法及其实现,具体包括直接
插入
排序
,希尔
排序
,直接选择
排序
,堆
排序
,冒泡
排序
,快速
排序
,归并
排序
,基数
排序
在内的八种
排序
算法,同时对各种算法的基本特征做出了详细分析: - 算法基本思想 - 算法的种类:
插入
排序
(直接
插入
排序
,希尔
排序
,
折半
插入
排序
),选择
排序
(直接选择
排序
,堆
排序
(升序/最大堆)),交换
排序
(冒泡
排序
,快速
排序
),归并
排序
,分配
排序
(基数
排序
) - 算法的时间复杂度 - 算法的空间复杂度 - 算法的
稳定
性 - 内部
排序
/外部
排序
12种
排序
及时间复杂度
稳定
性
12种
排序
及时间复杂度
稳定
性: 计数
排序
基数
排序
冒泡
插入
折半
插入
归并 锦标赛 快速 希尔 桶
排序
选择
排序
堆
排序
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章