当前课程知识点:数据结构(下) > 第十二章 排序 > (c1) 希尔排序:Shell序列 > 12c1-4: 插入排序
接下来的一个技术要点是
在每一趟迭代中逐列的排序
又当如何具体实现
非常有趣的是在这里我们并不需要
去追求非常高效的排序算法
事实上我们这里在底层所采用的
排序算法只需要具有
输入敏感性就可以了
也就是说随着算法的不断推进
在序列的有序性不断改善的同时
这类算法单次运行的成本
将会逐渐的递减
从而能够保证总体计算成本的足够低廉
是的
我们早先介绍的某些初等排序算法
的确就具有这种输入敏感性
你还记得吗
没错
插入排序 insertionsort
你应该记得我们曾经通过逆序对的数目
来度量序列的无序性
而插入排序的计算成本
恰恰就取决于输入序列的这一指标
当然影响希尔排序总体效率的
最大因素莫过于其中具体采用的
步长序列H
接下来我们将会具体的剖析
其中的几个实例
需要指出的是在评判这些
序列的相互优劣时
我们主要需要考察这样几个方面
包括在整个算法的过程中
我们需要执行的关键(码)比较
以及数据项移动操作的次数
另外我们也十分关注整个过程中
所涉及的迭代次数
也就是矩阵的重组次数
因为每一次矩阵的重组
都对应于整个序列的一趟遍历
而在数据量非常大时
每一次遍历都有可能会引发
相应的IO
因此在这种情况下
迭代的次数
也就自然成为了一个非常敏感
而重要的因素
以下我们就来考察步长序列的一个
具体实例
这个序列提出的更早
因此也难免有更多的缺点
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-OJ系统说明
--关于OJ
--1-注册与登录
--2-界面与选课
--3-提交测试
-关于课程教材与讲义
--课程教材与讲义
-关于讨论区
--关于讨论区
-微信平台
--html
-PA晋级申请
--PA晋级
-(a)概述
--07A-1 纵览
--07A-5 接口
-(a)概述--作业
-(b1)BST:查找
-第七章 二叉搜索树--(b1)BST:查找
-(b2)BST:插入
-(b2)BST:插入--作业
-(b3)BST:删除
-第七章 二叉搜索树--(b3)BST:删除
-(c)平衡与等价
-(c)平衡与等价--作业
-(d1)AVL树:重平衡
-第七章 二叉搜索树--(d1)AVL树:重平衡
-(d2)AVL树:插入
-(d2)AVL树:插入--作业
-(d3)AVL树:删除
-(d3)AVL树:删除--作业
-(d4)AVL树:(3+4)-重构
-(d4)AVL树:(3+4)-重构--作业
-本章测验
--章节测验
-(a1)伸展树:逐层伸展
--习题
-(a2)伸展树:双层伸展
--习题
-(a3)伸展树:算法实现
--习题
-(b1)B-树:动机
--习题
-(b2)B-树:结构
--习题
-(b3)B-树:查找
--习题
-(b4)B-树: 插入
--习题
-(b5)B-树: 删除
--习题
-(xa1)红黑树:动机
--习题
-(xa2)红黑树:结构
--习题
-(xa3)红黑树:插入
--习题
-(xa4)红黑树:删除
-本章测验
--习题
-(b)散列:原理
--09B-3 数组
--09B-4 原理
--09B-5 散列
--09B-6 冲突
--习题
-(c)散列:散列函数
--习题
-(d1)散列:排解冲突(1)
--习题
-(d2)散列:排解冲突(2)
--习题
-(e)桶/计数排序
--习题
-本章测验
--本章测试
-(a1)需求与动机
--习题
-(a2)基本实现
--习题
-(b1)完全二叉堆:结构
--习题
-(b2)完全二叉堆:插入与上滤
--习题
-(b3)完全二叉堆:删除与下滤
--习题
-(b4)完全二叉堆:批量建堆
--习题
-(c)堆排序
--习题
-(xa1)左式堆:结构
--习题
-(xa2)左式堆:合并
--习题
-(xa3)左式堆:插入与删除
-本章测验
--本章测试
-(a)ADT
--习题
-(b1)串匹配
--习题
-(b2)蛮力匹配
--习题
-(c1)KMP算法:从记忆力到预知力
--习题
-(c2)KMP算法:查询表
--习题
-(c3)KMP算法:理解next[]表
--习题
-(c4)KMP算法:构造next[]表
--习题
-(c5)KMP算法:分摊分析
--习题
-(c6)KMP算法:再改进
-(d1)BM_BC算法:以终为始
-(d2)BM_BC算法:坏字符
-(d3)BM_BC算法:构造bc[]
-(d4)BM_BC算法:性能分析
-(e1)BM_GS算法:好后缀
-(e2)BM_GS算法:构造gs表
-(e3)BM_GS算法:综合性能
-(f1)Karp-Rabin算法:串即是数
-(f2)Karp-Rabin算法:散列
-本章测验
--本章测试
-(a1)快速排序:算法A
-- 12a1-5: 实例
--习题
-(a2)快速排序:性能分析
--习题
-(a4)快速排序:变种
-(b1)选取:众数
-(b3)选取:通用算法
--习题
-(c1) 希尔排序:Shell序列
--习题
-(c2)希尔排序:逆序对
-本章测验
--本章测试