原文:SHELL排序

插入排序运行效率较低的原因是它所执行的交换操作涉及邻近的数据项,使得数据项每次只能移动一位。例如,如果键最小的数据项刚好在数组的尾端,就需要N步来将该项放到数组的最前端。shell排序法是插入排序的扩展,它通过允许非相邻的数据项进行交换来提高效率。 该算法将文件重新安排,使文件具有这样的特性,每第h个文件 从任何地方开始 组成一个排好序的文件。另一种说法就是,已h 排序的文件是h个独立的已排好序 ...

2019-11-10 16:46 0 298 推荐指数:

查看详情

排序算法——Shell排序

二、Shell排序   Shell排序也叫“缩减增量排序”(disminishing increment sort),基于插入排序进行。   Shell建议的序列是一种常用但不理想的增量序列:1,...,N/8,N/4,N/2 (ht=N/2,hk=hk+1/2) 思路 ...

Mon Dec 11 19:14:00 CST 2017 0 1250
排序之希尔排序(shell sort)

前言   本篇博客是在伍迷兄的博客基础上进行的,其博客地址点击就可以进去,里面好博客很多,我的排序算法都来自于此;一些数据结构方面的概念我就不多阐述了,伍迷兄的博客中都有详细讲解,而我写这些博客只是记录自己学习过程,加入了一些自己的理解,同时也希望给别人提供帮助。 前提故事    骚年在 ...

Sun Oct 18 23:42:00 CST 2015 6 10546
shell——按指定列排序

转自http://roclinux.cn/?p=1350 sort -t “,” -k 4,4n -k 5,5n -k 1.1nr result > temp 1 sort的工作原理 ...

Thu Oct 15 03:05:00 CST 2015 0 3345
Shell排序算法

1、Shell排序算法的介绍   希尔排序,也称递减增量排序算法,是直接插入排序算法的一种高速而稳定的改进版本。   希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。  先取一个 ...

Tue May 28 00:25:00 CST 2019 0 1694
shell-数组排序

1,数组排序 #!/bin/bash folders=(1 3 2 9 7 10 6) len=${#folders[@]} for((i=0; i<$len; i++)){ for((j=i+1; j<$len; j++)){ if [[ ${folders ...

Tue Mar 07 19:33:00 CST 2017 0 4091
shell脚本之数组排序

shell数组排序 1.升序 二、降序(if判断中"-gt" 改为 “-lt”) ...

Sun Oct 25 00:55:00 CST 2020 0 716
js 实现排序算法 -- 希尔排序Shell Sort)

原文:   十大经典排序算法(动图演示) 希尔排序   1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。 算法描述:   将整个待排序的记录序列分割成为若干子 ...

Tue Jun 11 23:27:00 CST 2019 0 558
数据结构与算法-排序(七)希尔排序Shell Sort)

摘要 看希尔排序需要先想象出一个二维的矩阵,在这个矩阵中,有多少列数据全看步长(一定的规则得到)。处理完之后,就再接着用另一个步长组成矩阵处理。直到步长全部使用完。 这里的巧妙之处就是没有把序列先处理成二维数组,而是通过与步长配合,依旧在一维的序列中处理。 逻辑 希尔排序 ...

Wed Aug 18 05:07:00 CST 2021 0 179
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM