はてなキーワード: ダブルループとは
ちなみに要素数が1でかつ定数の場合という特殊解があり
結論を優先して言うと
for(int i=0; less(i,1-1) ; ++i){
for(int j=0; less(j,1-1) ; ++j){
のようなダブルループになるが
これは
結果論として初期値0 初回比較 i<0となるため 0<0となりループ回数0であることがコンパイル時に判別可能な式となる
したがって、最適化がかかっていた場合 (当たり前だが)ソートはそもそもforループごと最適化で無効化され1行も実行されない。
つまり要素数が1のときの実行速度は実質0となる。
つまり要素数が1のとき要素数の変数が定数と等価であるとバケツソートは最速のソートに分類される。
こういった例外があることを知っておくことは重要である。
Permalink | 記事への反応(1) | 19:46
ツイートシェア