私は現在、バイナリ検索を追加するコードをいくつか持っています。現在、私のコードはファイルを読み込み、組み込み関数を使って値を検索します。私はバイナリ検索を簡単に実装できる方法はありますか?私はバイナリ検索のコードを持っていますが、実際には理解できません。私はそれの原則を理解しているが、apply.Anyヘルプに感謝されるとは確信していません。組み込み関数ではなくバイナリ検索を適用する
現在のコード:
string fileResponse = "Data1/Region_1.txt";
Console.Write("please enter a word to search for in the file: (Case Sensitive) ");
string wordResponse = Console.ReadLine();
StreamReader myfile = File.OpenText(fileResponse);
using (StreamReader myFile = File.OpenText(fileResponse))
{
int count = 0; //counts the number of times wordResponse is found.
int lineNumber = 0;
while (!myFile.EndOfStream)
{
string line = myFile.ReadLine();
lineNumber++;
int position = line.IndexOf(wordResponse);
if (position != -1)
{
count++;
Console.WriteLine("Match #{0} {1}:{2}", count, lineNumber, line);
}
}
if (count == 0)
{
Console.WriteLine("your word was not found!");
}
else
{
Console.WriteLine("Your word was found " + count + " times!");
}
Console.ReadLine();
}
標準のバイナリ検索私が実装したい:
public static object BinarySearchIterative(int[] inputArray, int key, int min, int max)
{
while (min <=max)
{
int mid = (min + max)/2;
if (key == inputArray[mid])
{
return ++mid;
}
else if (key < inputArray[mid])
{
max = mid - 1;
}
else
{
min = mid + 1;
}
}
return "0";
}
'Array.BinarySearch()'や 'List .BinarySearch()'を使うのはなぜですか?いずれにしても、あなたの質問はあまりにも広すぎます。バイナリ検索を理解すれば、実装は簡単です。したがって、バイナリ検索を簡単に実装できるようにするための最初のステップは、それがどのように機能するかを理解することです。スタックオーバーフローは、よく知られているアルゴリズムでパーソナライズされた指示を求める適切な場所ではありません。あなたが試したことを示す良い[mcve]と、あなたが持っているいくつかの問題に関する_specific_質問がある場合は、それを新しい質問として投稿してください。 –
私は間違った言葉を言いました。私はそれが何をどのように理解します。私が助けが必要な部分は、これもまた読み込まれたファイルを適用してから、バイナリ検索を使ってこのファイルに対して検索する単語を入力することです。 – Duncher
ファイルのスキーマとは何ですか?また、バイナリ検索を使ってライン内の単語や単語を探したいのですか? –