двоичный поиск



Бинарный поиск в массиве

Автор Владимир Суслов задал вопрос в разделе Другие языки и технологии

Бинарный поиск C# и получил лучший ответ

Ответ от ...[гуру]
Двоичный поиск работает на _сортированном массиве_. У Вас генерируется просто набор.
Что в линейном поиске, что в двоичном - Вы когда находите значение - не выходите при этом из цикла. зачем цикл крутить дальше, если нашли элемент.
if (array[index] == x)
return index;
Плохо, что массив назвали Array, т. к. Array - уже существует как пространство имен для методов работы с массивами.
P.S: В C# уже есть BinarySearch
И линейный
Как раз в том самом пространстве Array
...
Просветленный
(44357)
Для двоичного поиска да.
Ну тогда при текущем состоянии в фунции двоичного поиска при нахождении числа программа уйдет в бесконечный цикл.
Поставьте :
if (A[q] == x)
{
result = q;
Console.WriteLine ("Found");
Pr++;
}
Посмотрите что произойдет.
Ну и ещё не очень нравится, что Pr сделана "глобальной".
Вы могли бы возвращать кол-во повторов так:
public static int Test(out int rep) {
rep = 10;
return 1;
}
....
int rep;
int l = Search.Test (out rep);
Console.WriteLine ("{0} : {1}", l, rep);

Ответ от Maks[гуру]
right = q - 1;

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Бинарный поиск C#
спросили в Шумилино
для чего в C++ нужен temp?
Шоб в шустром темпе бредово-абстрактные вопросы задавать) ) Ты задавай конкретнее) ) -- какая
подробнее...

Метод бинарного включения
Метод бинарного включения (бинарные вставки)
Этот метод упоминается Джоном Мочли в 1646г. в
подробнее...

Проверка массива на наличие элемента?
C++: N - размер массива double; b - искомое значение элемента в массиве; bool Res - булевская
подробнее...

сортировка бинарными вставками не работает (Си)
чем разбираться в этом коде, я тебе лучше свой предложу:
void BinaryInsertion (int *a)подробнее...
Двоичный поиск на Википедии
Посмотрите статью на википедии про Двоичный поиск
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*