一、希尔排序每一趟

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.1 希尔排序,快速排序

    对于我们这个算法,要明确算法实现函数的参数,明确了参数,知道要对什么做操作,将使得你的思路和题解豁然开朗. 所以针对一些普遍的情况,我们设想要对自己的样本的集合,以及样本长度做好规划,也即做了参数. ...

  2. 希尔排序、快速排序、归并排序的实现分析以及时间复杂度

    高级排序 希尔排序 快速排序 归并排序 希尔排序 希尔排序是插入排序的一种,又称"缩小增量排序",是插入排序算法的一种更高效的改进版本. 我在另一篇文章中说插入排序的时候,会有一个 ...

  3. 极客算法训练笔记(六),十大经典排序之希尔排序,快速排序

    目录 抛砖引玉 希尔排序 快速排序 抛砖引玉 十大经典排序算法江山图 十大经典排序算法江山图 排序算法的衡量指标我这里不再重复,上一篇我已经列举分析的很清楚了,但是非常重要,没看到我上一篇的小伙伴墙裂 ...

  4. ❤️万字总结八大排序:冒泡排序,选择排序,插入排序,堆排序,希尔排序,归并排序,计数排序❤️

    目录 主要排序算法性能对比 冒泡排序 选择排序 插入排序 堆排序 希尔排序 快速排序 Hoare版 挖坑版 前后指针法 归并排序 计数排序 海量数据的排序问题 主要排序算法性能对比 冒泡排序 各位同学 ...

  5. [ 数据结构 -- 手撕排序算法第三篇 ] 希尔排序

    手撕排序算法系列之:希尔排序. 从本篇文章开始,我会介绍并分析常见的几种排序,大致包括插入排序,冒泡排序,希尔排序,选择排序,堆排序,快速排序,归并排序等. 大家可以点击此链接阅读其他排序算法:排序算 ...

  6. 十六、希尔排序即其优化(交换法--->移动法)

    一.为何要引入希尔排序 首先先看直接插入排序所存在的弊端,数组 arr = {2,3,4,5,6,1},如果要插入的数1(最小),这样的过程是: {2,3,4,5,6,6} {2,3,4,5,5,6} ...

  7. 1.11_shell_sort_希尔排序

    --- 希尔排序 ---分组插入排序算法每趟使整体数据越来越接近有序 def insert_sort_gap(li, gap):for i in range(gap, len(li)):temp = ...

  8. 【考研】数据结构考点——希尔排序

    前言 本文内容源于对<数据结构(C语言版)>(第2版).王道讲解学习所得心得.笔记整理和总结. 插入排序的三种方法:直接插入排序.折半插入排序和希尔排序.直接插入排序可基于顺序表或链表操作 ...

  9. java冒泡排序_JAVA实现经典排序算法(冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序)...

    冒泡排序 依次比较相邻的元素,若发现逆顺序,则交换.小的向前换,大的向后换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成. import ...

  10. 快速排序、希尔排序、插入排序、选择排序、归并排序、堆排序总结

    一.快速排序的基本思想     设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为: ①分解:     在R[low..high]中任选一个记录作为基准(Pivot ...

最新文章

  1. Android应用中使用AsyncHttpClient来异步网络数据
  2. linux中怎样获得进程描述符,linux进程学习-进程描述符,控制块
  3. python怎么改界面颜色_Python的matplotlib绘图如何修改背景颜色的实现
  4. MySQL ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
  5. c/c++ 继承与多态 文本查询的小例子(非智能指针版本)
  6. 微软的焦虑?想多了!从.NET6 Preview2到大厂招聘,起飞
  7. Android之最简单和靠谱的监听Home键和菜单键(最近任务栏)
  8. 云漫圈 | 革命版互联网公司虐恋大戏,周一拿去怼业务!
  9. pandas 分层取5个数据_Pandas数据可视化的9个要点「附案例」
  10. matlab两个曲线的名称怎么显示出来的,求MATLAB的高手,怎么把两张仿真曲线合并显示在一张图上?...
  11. html字体版权,字体在网站中的版权问题
  12. 一个简单的可视化模型战士的 XML 编辑器QXmlEdit
  13. 企业传播需要拥有的5个风险意识
  14. PostgreSQL存储过程BEGIN块的事务处理
  15. Python中的切片(详细篇)学起来喔
  16. 腾讯云开发低代码平台初探
  17. 手把手教你搭建一个OPCDA/UA服务器
  18. 闰秒及其对计算机系统影响,闰秒原理及其对计算机系统影响
  19. UFS发生命令超时处理流程
  20. 我碰到的Java实习面试题集合

热门文章

  1. win10下如何检测快捷键被被哪个进程占用
  2. Android音频系统之二音频框架
  3. 网络模型可视化工具netron
  4. Greasy Fork 视频网页全屏脚本
  5. 10 个含金量最高的 IT 认证
  6. 【文献学习】《Reference-free detection of isolated SNPs》
  7. 前端JS xxxx年xx月xx日转换成页面时间组件xxxx-xx-xx格式
  8. 图扑数字孪生北京故宫,推进旅游业元宇宙进程
  9. node.js 上传文件比较 busboy vs. formidable vs. multer vs. multiparty
  10. 轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频