С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Бинарный поиск в текстовом файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ создать файл http://www.cyberforum.ru/cpp-beginners/thread37154.html
Помогите пожайлуста исправить программу. Файл вроде создает,а вот просмотр,добавление и изменение никак. Подскажите как поменять местами в файле записи о первых двух спортсменах.Заранее благодарен!...
C++ Массивы (Матрицы) Общая постановка. Составить программы - одномерные массивы: задания 1-25. Массивы создаются в динамической области памяти с использованием операций NEW и DELETE. Ввод исходных данных: реальный размер... http://www.cyberforum.ru/cpp-beginners/thread37139.html
Помошьс функциями сравнения времени. C++
Доброго времени суток.Курсовая работа по темам:текстовые-бинарные файлы(переброс данных с одного в другой),стэки,структуры,работа с датой и временем. Задача: 1)Запись в бинарный файл:номер...
Istream_iterator C++
Есть задача: надо заменить циклы в программе на что-то с использование обобщеенного проргаммирования и std library функций: #include <string> #include <iostream> #include <sstream> #include...
C++ графические функции (анимация) http://www.cyberforum.ru/cpp-beginners/thread37127.html
прошу помочь с задачей:изобразить на экране снежинки,которые падают и увеличиваются в размерах.Снежинки имеют по 6 промежутков длинной 1 с одной точки,с конца каждого лучика виходят пять лучиков...
C++ Простая проверка почты Может кто знает исходники программки на Visual C++ простой проверки почты? Например если при проверки почты пришло письмо с определённым содержанием, сделать какое-то действие. Заранее благодарю... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18380 / 6428 / 441
Регистрация: 30.03.2009
Сообщений: 17,844
Записей в блоге: 28
29.05.2009, 16:20
Можно тупо считать из файла все 10 тыщ слов (займут в памяти немного места).

Либо сделать первый проход и запомнить 10 тыщ элементов с позициями начала слова. Потом в массиве из 10 тыщ позиций методом бинарного поиска проверять слово. Идиотизм такого метода почти очевиден

Либо вот так. Делаемм SEEK на середину файла (середину в байтах), далее читаем до энтера - таким образом нашли начало слова, которое приблизительно в середине файла находится. И так даелее, делаем SEEK в терминах абсолютного байтового смещения, ищем начало слова и проверяем. Правда возникнет геморой ближе к концу. Типа если у нас диапазон сузился до 10 байт, при этом в этом диапазоне слово 3 байта и 7 байт. По такому алгоритму мы доначала слова не доберёмся, а потому тут что-то думать надо

Идей, как тут применить бинарный поиск больше нет
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.