- 2008年6月 6日 06:49
- Algorithm
C言語で書かれたシェルソート・アルゴリズムをVBで書きました。改良版のシェルソートはさすがに高速です。考案者のシェル(Donald Shell)が着目したのは、挿入ソートで並び替える場合、配列の中に挿入する要素が近くにあるとき高速で並び替えが行えるという長所でした。そこで、挿入ソートを行う前に、離れたところにある要素を予め近くに寄せておくことを考えたのです。
At this article, I wrote Shell Sort Algorithm which is written by C.
VBAで書いた挿入ソートとシェルソートのソースコードです。1,000,000の順序がランダムな配列の並び替えの時間はヒープソートやコムソートの約倍の時間がかかります。シェルソートが1,000,000の並び替えを行う時間で挿入ソートを行おうとすると、約15,000の並び替えしか出来ません。
It is the source code of "Insertion Sort" and a "Shell Sort" written by VBA. The time of sorting of array with a random order of 1,000,000 requires twice as much time of heap sort or Comb Sort.
Search