当前位置:网站首页>插入类排序法
插入类排序法
2022-06-21 17:32:00 【小段学长】
直接插入排序
算法思想
将第i个记录插入到前面i-1个已排好的记录子集中。
具体:将第1个记录看做已排好的有序单元素子集,i从2到n循环进行直接插入。
直接插入排序是最简单、最基本的插入排序法。
算法描述

void InsSort(RecordType r[],int length) {
int i,j;
for(i=2; i<=length; i++) {
r[0]=r[i]; j=i-1;
while(r[0].key<r[j].key) {
r[j+1]=r[j]; j=j-1; }
r[j+1]=r[0];
}
} /* InstSort */
算法分析
最好情况:有序
比较次数:n-1,移动次数:
希尔排序(缩小增量排序法)
算法思想
先指定一个增量,将待排序记录序列分割成若干“较稀疏”的子序列,对各子序列分别进行直接插入排序。
逐步缩小增量并继续对形成的新子序列进行直接插入排序。
最后一轮,取增量为1,即对全部记录进行一次直接插入排序。
各子序列进行直接插入排序

具体实现
一般并不是先对一个子序列进行插入排序,再对另一个子序列进行插入排序。
从第一个子序列的第二个记录开始,顺序扫描整个待排序记录序列,各子序列的记录会轮流出现,当前记录将会在属于的子序列中轮流进行插入。
边栏推荐
- From "village run enterprise" to "ten billion group", why did red star industry complete the "butterfly transformation"?
- Leetcode(210)——课程表 II
- 从“村办企业”到“百亿集团”,红星实业何以完成“蝶变”?
- JDBC基础知识
- Ant group's self-developed tee technology has passed the national financial technology product certification, and 47 tests have met the requirements
- STATA 速查备份(个人笔记)
- Generics of typescript
- 互联网通信流程
- Cookie与Session
- El expression
猜你喜欢
随机推荐
SVG左上角全屏菜单动画效果展开
A new generation of stability testing tool fastbot
Dao and encapsulation of entity classes
GOF mode-03-behavioral mode (bottom)
從“村辦企業”到“百億集團”,紅星實業何以完成“蝶變”?
轻松入门自然语言处理系列 专题6 代码实战──基于语言模型的拼写纠错
JDBC基础知识
I/0多路转接之select
Servlet learning (II)
空中操作仅通过距离映射对遮挡目标进行鲁棒定位(RAL2022)
Leetcode(210)——课程表 II
In the new season, China Super League and Guoan are moving forward amid thorns
The best network packet capturing tool mitmproxy
El expression
工地建设动画网页建设中js特效
ThreeJS飞机地球3D场景动画
华为鸿蒙认证测试题,你能答对几道?
R语言 各种logistic回归 普通 条件 IPTW
Generic type checking for typescript
50位中国女性科学家入选2022福布斯








