Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Блочный поиск



Снова вспомним пример с записной книж­кой. Пусть в вашей записной книжке имеется алфавитный индекс в виде вырезанной «лесен­ки» или в виде букв вверху страницы. Несколькостраниц, помеченных одной буквой, назовем блоком. Имеется блок «А», блок «Б» и т. д. до блока «Я».

Индекс – это часть ключа поиска (например, первая буква).

Записи телефонов и адресов расставлялись в записной книжке по бло­кам в соответствии с первой буквой. Однако внутри блока записи не упо­рядочены в алфавитном порядке следующих букв, как это делается в сло­варях и энциклопедиях. Записи в книжке мы ведем в порядке поступле­ния. При такой организации данных поиск нужного телефона будет происходить блочно-последовательным методом:

1) с помощью алфавитного индекса выбирается блок с нужной буквой;

2) внутри блока поиск производится путем последовательного перебора.

Большинство книг в начале или в конце текста содержат оглавления: список названий разделов с указанием страниц, с которых они начинают­ся. Разделы – это те же блоки. Поиск нужной информации в книге начи­нается с просмотра оглавления, с дальнейшим переходом к нужному раз­делу, который затем просматривается последовательно. Очевидно, это тот же блочно-последовательный методпоиска.

Списки с указанием на блоки данных называются списками указателей.

Разбиение данных на блоки может быть многоуровневым. В толстых словарях блок на букву «А» разбивается, например, на блоки по второй букве: блок от «АБ» до «АЖ», следующий от «AЗ» до «АН» и т.д. Такой порядок называется лексикографическим.

В поисковом множестве с многоуровневой блочной структурой происходит поиск методом спуска: сначала отыскивается нужный блок первого уровня, затем второго и т.д. Внутри блока последнего уровня может про­исходить либо последовательный поиск (если данных в нем относительно немного), либо оптимизированный поиск типа половинного деления. По­иску методом спуска часто помогают многоуровневые списки указателей.





Дата публикования: 2014-10-19; Прочитано: 2258 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...