希尔排序、快速排序的每一趟
一、希尔排序每一趟
1.【中国海洋大学2007一、4 (8分)】对下列数据表,写出采用希尔排序算法的每一趟排序结果。
(100, 12, 20, 31, 1, 5, 44, 66, 61, 200, 30, 8,150, 4, 8)
设增量序列为: D=(5, 3, 1)
100 | 12 | 20 | 31 | 1 | 5 | 44 | 66 | 61 | 200 | 30 | 80 | 150 | 4 | 8 | |
第一趟 | 5 | 12 | 20 | 4 | 1 | 30 | 44 | 66 | 31 | 8 | 100 | 80 | 150 | 61 | 200 |
第二趟 | 4 | 1 | 20 | 5 | 12 | 30 | 8 | 61 | 31 | 44 | 66 | 80 | 150 | 100 | 200 |
第三趟 | 1 | 4 | 5 | 8 | 12 | 20 | 30 | 31 | 44 | 61 | 66 | 82 | 100 | 150 | 200 |
二、快速排序每一趟
2.【中国海洋大学2005一、4 (8分)】给出一组关键字(12, 2, 16, 30, 8, 28, 4, 10, 20,6, 18) ,按从小到大顺序,写出对其进行快速排序第一趟(轴元素为第一个元素)的排序过程。
注:"【】"内的是未排序部分
[ 12 | 2 | 116 | 30 | 8 | 28 | 4 | 10 | 20 | 6 | 18 ] | |
第一趟 | [ 6 | 2 | 10 | 4 | 8 ] | 12 | [ 28 | 30 | 20 | 16 | 18 ] |
第二趟 | [ 4 | 2 ] | 6 | [ 10 | 8 ] | 12 | [ 18 | 16 | 20 ] | 28 | [ 30 ] |
第三趟 | [ 2 ] | 4 | 6 | [ 8 ] | 10 | 12 | [ 16 ] | 18 | [ 20 ] | 28 | 30 |
第四趟 | 2 | 4 | 6 | 8 | 10 | 12 | 16 | 18 | 20 | 28 | 30 |
希尔排序、快速排序的每一趟相关推荐
- 算法专题(一)1.1 希尔排序,快速排序
对于我们这个算法,要明确算法实现函数的参数,明确了参数,知道要对什么做操作,将使得你的思路和题解豁然开朗. 所以针对一些普遍的情况,我们设想要对自己的样本的集合,以及样本长度做好规划,也即做了参数. ...
- 希尔排序、快速排序、归并排序的实现分析以及时间复杂度
高级排序 希尔排序 快速排序 归并排序 希尔排序 希尔排序是插入排序的一种,又称"缩小增量排序",是插入排序算法的一种更高效的改进版本. 我在另一篇文章中说插入排序的时候,会有一个 ...
- 极客算法训练笔记(六),十大经典排序之希尔排序,快速排序
目录 抛砖引玉 希尔排序 快速排序 抛砖引玉 十大经典排序算法江山图 十大经典排序算法江山图 排序算法的衡量指标我这里不再重复,上一篇我已经列举分析的很清楚了,但是非常重要,没看到我上一篇的小伙伴墙裂 ...
- ❤️万字总结八大排序:冒泡排序,选择排序,插入排序,堆排序,希尔排序,归并排序,计数排序❤️
目录 主要排序算法性能对比 冒泡排序 选择排序 插入排序 堆排序 希尔排序 快速排序 Hoare版 挖坑版 前后指针法 归并排序 计数排序 海量数据的排序问题 主要排序算法性能对比 冒泡排序 各位同学 ...
- [ 数据结构 -- 手撕排序算法第三篇 ] 希尔排序
手撕排序算法系列之:希尔排序. 从本篇文章开始,我会介绍并分析常见的几种排序,大致包括插入排序,冒泡排序,希尔排序,选择排序,堆排序,快速排序,归并排序等. 大家可以点击此链接阅读其他排序算法:排序算 ...
- 十六、希尔排序即其优化(交换法--->移动法)
一.为何要引入希尔排序 首先先看直接插入排序所存在的弊端,数组 arr = {2,3,4,5,6,1},如果要插入的数1(最小),这样的过程是: {2,3,4,5,6,6} {2,3,4,5,5,6} ...
- 1.11_shell_sort_希尔排序
--- 希尔排序 ---分组插入排序算法每趟使整体数据越来越接近有序 def insert_sort_gap(li, gap):for i in range(gap, len(li)):temp = ...
- 【考研】数据结构考点——希尔排序
前言 本文内容源于对<数据结构(C语言版)>(第2版).王道讲解学习所得心得.笔记整理和总结. 插入排序的三种方法:直接插入排序.折半插入排序和希尔排序.直接插入排序可基于顺序表或链表操作 ...
- java冒泡排序_JAVA实现经典排序算法(冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序)...
冒泡排序 依次比较相邻的元素,若发现逆顺序,则交换.小的向前换,大的向后换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成. import ...
- 快速排序、希尔排序、插入排序、选择排序、归并排序、堆排序总结
一.快速排序的基本思想 设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为: ①分解: 在R[low..high]中任选一个记录作为基准(Pivot ...
最新文章
- Android应用中使用AsyncHttpClient来异步网络数据
- linux中怎样获得进程描述符,linux进程学习-进程描述符,控制块
- python怎么改界面颜色_Python的matplotlib绘图如何修改背景颜色的实现
- MySQL ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
- c/c++ 继承与多态 文本查询的小例子(非智能指针版本)
- 微软的焦虑?想多了!从.NET6 Preview2到大厂招聘,起飞
- Android之最简单和靠谱的监听Home键和菜单键(最近任务栏)
- 云漫圈 | 革命版互联网公司虐恋大戏,周一拿去怼业务!
- pandas 分层取5个数据_Pandas数据可视化的9个要点「附案例」
- matlab两个曲线的名称怎么显示出来的,求MATLAB的高手,怎么把两张仿真曲线合并显示在一张图上?...
- html字体版权,字体在网站中的版权问题
- 一个简单的可视化模型战士的 XML 编辑器QXmlEdit
- 企业传播需要拥有的5个风险意识
- PostgreSQL存储过程BEGIN块的事务处理
- Python中的切片(详细篇)学起来喔
- 腾讯云开发低代码平台初探
- 手把手教你搭建一个OPCDA/UA服务器
- 闰秒及其对计算机系统影响,闰秒原理及其对计算机系统影响
- UFS发生命令超时处理流程
- 我碰到的Java实习面试题集合
热门文章
- win10下如何检测快捷键被被哪个进程占用
- Android音频系统之二音频框架
- 网络模型可视化工具netron
- Greasy Fork 视频网页全屏脚本
- 10 个含金量最高的 IT 认证
- 【文献学习】《Reference-free detection of isolated SNPs》
- 前端JS xxxx年xx月xx日转换成页面时间组件xxxx-xx-xx格式
- 图扑数字孪生北京故宫,推进旅游业元宇宙进程
- node.js 上传文件比较 busboy vs. formidable vs. multer vs. multiparty
- 轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频