皆様方に大変お世話になりましたソートロジック大会を終了したいと思います。
あまりにも高度で優秀で超高速ロジックが出揃った状況で、
これ以上、自力での速度向上は難しいと感じております。
まだまだ、高速ロジックが存在するかもしれません。
皆様の貴重なロジックをまだ実行できていないものもあります。
作成途中の方もおられるかも知れません。
今後、皆様の高速ロジックの追記はかまいません。
2005年08月23日以来、約半年の間皆様方には、
本当にお世話になりました。
以下に、私の当初の実力を示します。
皆様方のおかげです。
omasuの当初の実力 [ここをクリックすると内容が表示されます]
今後も、omasuはソートロジックの追求をしていきたいと思います。> お世話になります。
>
> 自分が理解しているソートロジックは
> バブル、単純挿入法、単純選択法、バケツの4種類です。
>
> クイックソートやシェル、ヒープのロジックはわかりません。
>
> どうか以下のロジック以上早いソートロジックを
> 簡単な記述でアクティブベーシックロジックを教えてください。
>
> ちなみにexeで文字1000件のソートが32秒かかりました。
> cpu pentium4 2.66GB
>
> '
> ' 単純選択法(最小、最大1パス選択)ソート
> '
> Print "sort start",Time$
> p3=tblcnt
> For i=1 To p3-1
> p1=i:p2=i
> For j=i+1 To p3
> If keytbl$(p1)>keytbl$(j) Then
> p1=j
> EndIf
> If keytbl$(p2)<keytbl$(j) Then
> p2=j
> EndIf
> Next j
> If p1<>i Then
> Swap keytbl$(i),keytbl$(p1)
> Swap datatbl$(i),datatbl$(p1)
> EndIf
> If p2<>i Then
> Swap keytbl$(p3),keytbl$(p2)
> Swap datatbl$(p3),datatbl$(p2)
> p3=p3-1
> EndIf
> Next i
m(_ _)m
m(_ _)m
m(_ _)m
m(_ _)m
m(_ _)m
m(_ _)m
m(_ _)m
バブルソートから始めましょう!(~o~)/
ありがとうございました。
最終実行速度比較が表示されます。 [ここをクリックすると内容が表示されます]
実行環境 (ActiveBasic Ver.4.10.01~4.13.00)
(Cpu Pentium4 周波数2.66GHz 純正メモリ256MByte 増設メモリ1GByte)
文字列ソート(1万件~5百万件)
実行速度比較 5桁のランダム数字も5桁のランダム文字もソート可能なロジック キー列(1列目と2列目を連結) データ列数(26列)
作成者 ソート名称 10,000 50,000 100,000 500,000 1,000,000 5,000,000 記事
arさん ラディックス 0.060 0.250 0.551 2.955 5.928 30.464 ラディックス最速
arさん マージ 0.120 0.411 0.892 4.446 9.574 54.959 マージ最速
arさん クイック 0.110 0.410 0.952 5.417 11.706 ――――――――― クイック最速
omasu マージ(arさん版) 0.070 0.430 0.931 5.568 11.968 ―――――――――
omasu マージ(非再帰) 0.090 0.521 1.122 6.399 13.679 ―――――――――
arさん クイック(大会風) 0.080 0.491 1.061 6.409 13.930 ―――――――――
omasu クイック(中級編) 0.100 0.471 1.072 6.439 14.090 ―――――――――
omasu クイック(入門編) 0.080 0.561 1.322 7.130 15.733 ―――――――――
イグトランスさん クイック 0.093 0.572 1.180 7.695 16.116 ――――――――― AB4.11.03
マティさん クイック(初級編) 0.100 0.551 1.302 7.360 16.263 ―――――――――
omasu シェル4(0.8975+0.45) 0.140 0.752 1.622 10.135 ――――――――― ――――――――― シェル最速
マティさん ヒープ 0.130 0.851 1.882 12.037 ――――――――― ――――――――― ヒープ最速
omasu コーム2(挿入法1.4) 0.160 1.071 2.443 16.394 ――――――――― ――――――――― コ-ム最速
河川屋さん コム(挿入法) 0.200 1.252 2.924 18.948 ――――――――― ―――――――――
河川屋さん 改シェル法(クヌース大先生) 0.141 1.042 2.523 19.578 ――――――――― ―――――――――
omasu シェル(ノーマル) 0.161 1.162 2.724 19.649 ――――――――― ―――――――――
omasu コーム(ノーマル) 0.211 1.442 3.074 21.150 ――――――――― ―――――――――
omasu 単純挿入法(バイナリサーチ) 2.624 64.373 ――――――― ――――――― ――――――――― ――――――――― 単純挿入法最速
omasu 単純挿入法(キー数値化) 4.266 111.681 ――――――― ――――――― ――――――――― ―――――――――
omasu 単純挿入法 15.222 ――――――― ――――――― ――――――― ――――――――― ―――――――――
omasu シェーカー(バブル) 21.852 ――――――― ――――――― ――――――― ――――――――― ――――――――― シェーカー最速
omasu 単純選択法 28.340 ――――――― ――――――― ――――――― ――――――――― ――――――――― 単純選択法最速
omasu バブル 31.706 ――――――― ――――――― ――――――― ――――――――― ――――――――― バブル最速
トーナメント法 ただいま勉強中です。
文字列ソート(1千万件以上)
実行速度比較 5桁のランダム数字も5桁のランダム文字もソート可能なロジック キー列(1列目と2列目を連結) データ列数(26列)
作成者 ソート名称 10,000,000 50,000,000 100,000,000 記事
マティさん クイック改4(改0.07) 739.253 4015.514 10025.796 Const xReSort=1024000
マティさん クイック改4 2682.166 ―――――――――― ――――――――――― Const xReSort=20480
数値ソート
実行速度比較 5桁のランダム数字をソート可能なロジック キー列(1列目と2列目を連結) データ列数(26列)
作成者 ソート名称 1,000 5,000 10,000 50,000 100,000 記事
河川屋さん (PJ)クイック(改2) 0.080 0.140 0.271 0.801 1.142 クイック最速
河川屋さん (PJ)クイック(改1) 0.020 0.130 0.170 0.732 1.151 クイック最速
河川屋さん (PJ)クイック(ノーマル版) 0.130 0.160 0.210 0.831 1.192 クイック最速
マティさん (PJ)コーム 0.010 0.060 0.120 0.581 1.643 コーム最速