2006-10-13

1D文字列配列を高速サーチする裏技

NI Discussion Forum の Darren's Weekly Nugget 10/09/2006 で、1D文字列配列を高速にサーチする技が紹介されています。



1D配列検索や自力で、要素数 N の文字列配列を検索すると、運がよければ1個だけチェック、最悪N個チェック、平均で N/2回チェックが必要です。



ところが、バリアント属性は赤黒木というデータ構造で文字列を保存するため、平均で log N (底は2)回程度のチェックで探し出します。1000 要素あっても、10回くらいで見つかります。