Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ Выполнить поиск заданного элемента методом однородного бинарного поиска - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выполнить сортировку одномерного массива методом вставки в список с вычислением адреса http://www.cyberforum.ru/cpp-beginners/thread885098.html
Приветствую друзья программисты. Нужна ваша неотъемлемая помощь. Выполнить сортировку одномерного массива X(100) методом вставки в список с вычислением адреса. Буду очень признателен за вашу...
C++ Не хочет считывать второй раз строку Здравствуйте, пытаюсь работать с базой данных (в виде *.txt). Мои действия: 1) создаем базу данных, название вводим без ".txt" (1) 2) добавление новой записи в файл, предварительно обработав её... http://www.cyberforum.ru/cpp-beginners/thread885095.html
C++ Одновременно выходные данные
Описать процедуру Minmax(X, Y), записывающую в переменную X ми-нимальное из значений X и Y, а в переменную Y — максимальное из этих значений (X и Y — вещественные параметры, являющиеся одновременно...
C++ Построить последовательность заданного количества элементов
Приветствую друзья программисты. Нужна ваша неотъемлемая помощь. Построить последовательность заданного количества элементов, используя следующее рекуррентное соотношение: ai=ai-22+ai-12,...
C++ While. Ошибка в условии, бесконечный цикл http://www.cyberforum.ru/cpp-beginners/thread885069.html
#include <iostream> #include <cmath> #include <string> #include <fstream> using namespace std; int main () { double a; cin >> a;
C++ Специализация шаблона функции Как сделать специализированную функцию шаблон на тип int? У меня что-то не получается .. подробнее

Показать сообщение отдельно
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
02.06.2013, 10:44
Нарек, ну это практически то же самое, суть бинарного поиска заключается в том, что мы сначала делим наш массив на 2 и поскольку этот поиск работает только в упорядоченном массиве по возрастанию, то мы сравниваем значение которое нам найти сначала со срединным элементом, если мы нашли то выход, либо он может быть больше или меньше, если больше то идём в правую часть(на которые мы разбили), если меньше, то идём в левую часть, далее, в зависимости от того какую мы выбрали часть, делим её опять на 2 половинки , и делаем всё то же самое, ну в конце концов мы найдём наш элемент дибо скажем что такового здесь нет=)

Добавлено через 1 минуту
Цитата Сообщение от Нарек Посмотреть сообщение
average = first + (last - first) / 2;
это тоже самое что и:
C++
1
 average = (first + last)/2;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru