FORTRAN W
at TECH
804:デフォルトの名無しさん
10/07/29 00:03:04
>>801
あんた、なんか大昔の伝説みたいなのを盲信してないかい?
今はコンパイラの最適化で変わるから、環境依存でそういう質問意味ないよ。
本当の最後の最後に最適化するような所を気にしていてセンス悪すぎ。
気になるなら自分でテストプログラム書いて調べたほうが早い。己の質問の無意味さを噛みしめられる。
>>802も信用ならんw つーか今時x(1000)程度では、有意な差が出無い。
結局>>800が書いているように、適切なアルゴリズムを直截にソースコードに直したほうが、
実行時間もデバッグ時間でも結局早くなる。
QuickSortなんかも、再帰を使って素直に書いて実行すると、理論通りにO(NLogN)で動くから
再帰なしのO(N^2)なバブルソートだのよりよっぽど速いわさ。F77時代みたいに再帰無しでQuickSort
書いたら、ソースグチョグチョなイミフでバグ取り大変な上に、結局さして速くもなかろうさ。
QuickSortって再帰使えば10行だぜ。問題になるのはスタックオーバーフローだけ。
RECURSIVE FUNCTION qsort(x) RESULT(res)
REAL, INTENT(IN) :: x(:)
REAL :: res( SIZE(x) )
IF ( SIZE(x) > 1 ) THEN
res = (/ qsort(PACK( x(2:), x(2:) > x(1) )), x(1), qsort(PACK( x(2:), x(2:) <= x(1) )) /)
ELSE
res = x
END IF
RETURN
END FUNCTION qsort
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5215日前に更新/304 KB
担当:undef