数千行のこの巨大なファイルがあり、各行には数字とそれに続く文字列が含まれています。数はすでに揃っています。
これまでのところ、各行を配列としてスキャンし、それらを別の配列にプッシュすると、この 2D 配列でバイナリ検索を実行できます。これは正しい方法ですか?効率的にはどうですか?
ありがとう
数千行のこの巨大なファイルがあり、各行には数字とそれに続く文字列が含まれています。数はすでに揃っています。
これまでのところ、各行を配列としてスキャンし、それらを別の配列にプッシュすると、この 2D 配列でバイナリ検索を実行できます。これは正しい方法ですか?効率的にはどうですか?
ありがとう
必要以上の仕事をするのはなぜですか?
数値が増分であり、それらが実際には配列への単なる INDEX であると仮定します
私が見ることができる 3 つの選択肢があります。
ファイルにアクセスするだけで、
二分探索は、オンラインで入手できる標準の明確に定義されたアルゴリズムです。
文字列が同じ長さで定義されている場合は、ファイル内の数式バイト アドレス = (( 数値の長さ + 文字列の長さ [ + CRLF ] ) * インデックス) - 1 を使用して、必要な行にインデックスを付ける必要があります。ここで、CRLF はオプションです。キャリッジ リターンとライン フィードを使用して行を区切る - 1 ファイルは 1 バイトではなく 0 バイトから始まるため
それらをデータベース管理システムにロードし、INDEX を使用して文字列にアクセスします。
選択はあなた次第です。インデックス作成はより迅速です。DBMS はより多くの作業を必要としますが、管理はより簡単です。