原文: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