博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
希尔排序 shell
阅读量:4619 次
发布时间:2019-06-09

本文共 307 字,大约阅读时间需要 1 分钟。

希尔排序又叫缩小增量排序,是建立在插入排序上的威力加强版。

 

 

主要是利用了插入排序对逆序数越少的数组的排序,花费的时间就越少,的特性来进行优化;

                                        ↑简单来说就是越整齐排序所花时间也就越少;

 

 

希尔排序中通过比较相距一定间隔的元素,并使这个间隔不断减小,知道间隔为1,进行工作;

这也是缩小增量排序名称的由来;

 

 

实现一般使用for循环嵌套,然后依次比较n和n+k的元素,其中k是间隔;

间隔k的初始值一般使用N/2,N为数组元素个数;

 

看似使用了几个for嵌套,实际上花费的时间却很少,希尔排序最坏的情况使用O(N3/2);

 

转载于:https://www.cnblogs.com/mckc/p/9749847.html

你可能感兴趣的文章
sizzle源码分析 (4)sizzle 技术总结及值得我们学习的地方
查看>>
ECMAScript6词法
查看>>
ASP.NET Core 中文文档 第四章 MVC(3.1)视图概述
查看>>
软件工程项目之摄影App(第二次冲刺)
查看>>
Struts常见默认值重写
查看>>
iOS9的一些问题
查看>>
maven3 下载列表
查看>>
9.22作业3
查看>>
LeetCode Ones and Zeroes
查看>>
求余符号的用法
查看>>
C语言文件操作函数(ANSI)详解(一)
查看>>
sizeof的用法
查看>>
(转)断点续传下载文件[带进度条类似迅雷]
查看>>
linux 查看数据库和表
查看>>
autoLayout
查看>>
bzoj 1232 [Usaco2008Nov]安慰奶牛cheer
查看>>
Codeforces 908G New Year and Original Order 数位dp
查看>>
短信接口
查看>>
EF提示“序列化类型为XXX的对象时检测到循环引用”(转载)
查看>>
Java语言编程 - Java历史简介
查看>>