Энциклопедия Turbo Pascal. Главы 1-4
Страница 2. Глава 1. Сортировка и поиск



Глава 1. Сортировка и поиск

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

                 СОРТИРОВКА

     Сортировка представляет собой процесс упорядочения множества
подобных информационных объектов в порядке возрастания или убыва-
ния их значений. Например, список i из n элементов будет отсорти-
рован в порядке возрастания значений элементов, если
                  i <= i  <= ...  <= i
     Имеется два вида алгоритмов сортировки: сортировка массивов,
которые могут находиться как в операционной памяти, так и на дис-
ке  в  виде файла прямого доступа,  и сортировка последовательных
файлов,  находящихся на дисках или магнитных лентах. В этой главе
рассматривается в основном сортировка первого вида, поскольку она
представляет наибольший интерес для пользователей  микрокомпьюте-
ров.  Однако в конце главы делается общий метод сортировки после-
довательных файлов.
     Основное отличие между сортировкой  массивов  и  сортировкой
последовательных  файлов  заключается  в том,  что каждый элемент
массива является доступным в любое время. Это значит, что в любое
время  любой  элемент  массива  может сравниваться с любым другим
элементом массива и любые два элемента массива могут обмениваться
местами.  Напротив, в последовательном файле в каждый момент вре-
мени доступен лишь один элемент. Из-за этих отличий методы сорти-
ровки существенно отличаются для этих двух видов сортировки.
     В общем случае при сортировке данных только часть информации
используется в качестве ключа сортировки,  который используется в
сравнениях.  Когда выполняется обмен,  передается  вся  структура
данных.  Например, в списке почтовых отправлений в качестве ключа
сортировки может использоваться почтовый индекс,  а  в  операциях
обмена  к  почтовому индексу добавляются полное имя и адрес.  Для
простоты в примерах,  иллюстрирующих методы сортировки, использу-
ются  символьные  массивы.  Затем будет показано,  как эти методы
можно адаптировать к любым структурам данных.


 
« Предыдущая статья