希尔排序
基本思想
让数组越来越有序,可以处理不相邻的逆序对。
基本原理:
- 对于元素间距为n/2的所有数组做插入排序
- 对元素间距为n/4的所有数组做插入排序
- 对元素间距为n/8的所有数组做插入排序
- …
- 对元素间距为1的所有数组做插入排序
如下图中,相同颜色的两个元素为一组,且之间的索引差都为4。
在每一组中进行插入排序,如1和2这一组经过插入排序后变成如下:
其它三组元素也是这样,完成一次希尔排序后变成如下这样:
希尔排序的下一步就是将整个数组距离为2进行分组。为啥是2,之前是将元素的距离进行分组,现在是为了让元素更近一点,也就是近一倍。
这样数组就分成了两组,如下:
标签:间距,插入排序,元素,解读,希尔,数组,排序 来源: https://blog.csdn.net/boyas/article/details/121083149
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。