■ Bonanzaで使われているinsertion sortとは何か? Bonanzaで使われているsort(並べ替え)は、 1) insertion sort 2) shell sort 3) quick sort の3種類である。 3)はCのqsort関数を呼び出しているだけなので解説は不要だろう。また、3)は定跡データベースのメンテナンスにのみ使われており、実際の探索で使われているのは1),2)のみだ。 また、2)には1)が必要である。そこで、今回は1)について解説する。 ■ Bonanzaのnext.c Bonanzaのnext.cは、次の指し手を生成するcoroutineである。ここでinsertion sortが使われている。 指し手生成をcoroutineにしないでいきなり全部の手を生成したり、全部の手に対して点数をつけてquick sortしたりすると劇的なパフォーマンスの
insertion sortは「挿入ソート」と訳される。(Wikipedia→ http://ja.wikipedia.org/wiki/%E6%8C%BF%E5%85%A5%E3%82%BD%E3%83%BC%E3%83%88 ) ■ 日本語版 Wikipediaの日本語のページのコードを引用すると次のようになっている。 for (i = 1; i < n; i++) { tmp = data[i]; for (j = i; j > 0 && data[j-1] > tmp; j--) { data[j] = data[j-1]; } data[j] = tmp; }上のコードでは、内側のループでinsertの必要がなかった場合でも最後にdata[j] = tmpでtmp変数をwrite backしており、しかも、insertの必要のなかった場合でもj=iが1回実行される。それらの意味に
Python’s timsort has a reputation for being rather scary. This is understandable, as there are a lot of bits to it. However, really when you come down to it it’s “just” a pile of variations applied to mergesort. Some of these variations are rather clever, some of them are pretty straightforward, but together they result in something really quite impressive. I’m going to show you through worked exa
2005年08月18日05:44 カテゴリAnnouncement一日一行野郎 Lingua::JA::Numbers Released! タイトルどおり、Ligua::JA::NumbersをReleaseしました。CPANからまだ取れなければ http://www.dan.co.jp/~dankogai/cpan/Lingua-JA-Numbers-0.02.tar.gz にて入手可能です。 こんなことが出来ます。 % perl -Ilib -Mencoding=utf8 -MLingua::JA::Numbers -ple '$_=num2ja(ja2num($_))' 1 一 12 十二 123 百二十三 1234 千二百三十四 10**68 一無量大数 10**72-1 九千九百九十九無量大数九千九百九十九不可思議九千九百九十九那由他九千九百九十九阿僧祇九千九百九十九恒河沙九千九
名称 概要 詳細 コンストラクタとテーラリング 比較 ソート 部分文字列の検索 NOTE 照合レベル 漢字文字クラス 長音記号と繰返し記号の置き換え 処理系定義項目 [JIS X 4061, 6.2] 作者 参考 名称 ShiftJIS::Collate - Shift-JIS 文字列の照合 概要 use ShiftJIS::Collate; @sorted = ShiftJIS::Collate->new(%tailoring)->sort(@source); 詳細 このモジュールは、JIS X 4061:1996 (日本語文字列照合順番) に基づいて、Shift-JIS 文字列を照合、整列するための関数を提供します。 このモジュールは JIS X 4061:1996 の実装の一つであり、 照合規則は、上記規格に基づいています。 処理系定義項目も参照のこと。 コンストラクタとテーラリング
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く