книги из ГПНТБ / Папернов А.А. Методы упорядочения информации в цифровых системах
.pdfА. А. ПАПЕРНОВ, В. Я. П О Д Ы М О В
МЕТОДЫ
УПОРЯДОЧЕНИЯ
ИНФОРМАЦИИ В ЦИФРОВЫХ СИСТЕМАХ
И З Д А Т Е Л Ь С Т В О «НАУКА» ГЛАВНАЯ Р Е Д А К Ц И Я
ФИЗИКО - МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
М О С К В А 1973
6Ф6.5
П17
УДК 62-50
|
Методы упорядочения информации в цифро |
|||||
вых |
системах. П а п е р н о в |
А. А., |
П о д ы- |
|||
м о в |
В. Я. Главная |
редакция физико-математи |
||||
ческой |
литературы |
изд-ва |
«Наука», |
М., |
1973, |
|
384 |
стр. |
|
|
|
|
|
|
Книга посвящена |
вопросу |
организации |
в па |
мяти цифровых систем информации, предназна ченной для поиска. Приводятся алгоритмы форми рования информации в упорядоченные массивы и деревья. Рассмотрению конкретных алгоритмов предшествует общая теория упорядочения, позво ляющая изложить все конкретные алгоритмы с единой точки зрения, выявить критерии их коли чественной оценки и сравнения друг с другом, предложить методы анализа и синтеза таких алго
ритмов. |
Приводятся |
и обосновываются |
рекомен |
дации |
но использованию алгоритмов |
упорядоче |
|
ния в зависимости от |
характеристик информации, |
подлежащей упорядочению, ограничений, накла дываемых на используемые ресурсы, т. е. на объемы памяти и быстродействие, характеристик временных потоков обновления и устаревания ин формации, а также потоков запросов на поиск.
Книга предназначена для инженеров и мате матиков, занятых разработкой информационнопоисковых систем и программированием инфор мационно-логических задач в цифровых системах.
Табл. 11. Илл. 1. Библ. 86 назв.
©Издательство «Наука», 1973.
П0224—1790 165-73 042(02)-73
ОГЛАВЛЕНИЕ
Предисловие |
7 |
ГЛАВА 1
ПОИСК ИНФОРМАЦИИ В ЗУ ЦИФРОВЫХ МАШИН
§ 1.1. Определение процедуры поиска. Обзор ха |
|
||||
рактерных |
условий |
поиска |
|
|
9 |
§ 1.2. Способы организации информации об одном |
|
||||
объекте |
|
|
|
|
13 |
§ 1.3. Структура информации о множестве объек |
|
||||
тов |
|
|
|
|
15 |
§ 1.4. Основные |
методы |
поиска |
формуляров |
в |
|
списках |
|
|
|
|
18 |
§ L5. Алгоритмы дихотомического поиска в мас |
|
||||
сивах |
|
|
|
|
30 |
§ 1.6. Примеры |
поисковых |
систем. |
Словари . |
. |
39 |
§ 1.7. Примеры поисковых систем. Таблицы функ |
|
||||
ций |
|
|
|
|
43 |
ГЛАВА 2
ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ УПОРЯДОЧЕНИЯ
§ |
2.1. Определение |
и |
основные |
характеристики |
|
|
процедуры |
упорядочения |
|
49 |
|
§ |
2.2. Характеристики |
состояния |
информации в |
|
|
|
массиве |
|
|
|
60 |
§ |
2.3. Характеристики |
операторов |
упорядочения |
80 |
|
§ |
2.4. Некоторые способы частичной оптимизации |
|
|||
|
процедур упорядочения |
|
82 |
4 |
|
|
|
ОГЛАВЛЕНИЕ |
|
|
|
|||
ГЛАВА |
3 |
|
|
|
|
|
|
|
|
|
МЕТОДЫ слияния |
|
|
|
|
|
|
||||
§ 3 . 1 . Предпосылки |
метода |
|
|
|
|
88 |
||||
§ 3.2. Оператор |
слияния двух упорядоченных под- |
|
||||||||
|
массивов |
в один |
|
|
|
|
|
91 |
||
§ |
3.3. Оператор |
слияния |
нескольких упорядочен |
|
||||||
|
ных |
подмассивов в |
один |
|
|
|
102 |
|||
§ |
3.4. Упорядочение случайного |
массива |
при |
ис |
|
|||||
|
пользовании |
процедуры |
слияния . . . |
. |
109 |
|||||
§ |
3.5. Процедуры |
упорядочения |
слиянием |
при |
|
|||||
|
ограничении |
резерва |
памяти |
|
|
|
118 |
|||
§ |
3.6. Способы |
аппаратной |
реализации |
метода |
|
|||||
|
слияния |
|
|
|
|
|
|
|
133 |
ГЛАВА 4
ПРОЦЕДУРЫ УПОРЯДОЧЕНИЯ С ПРЕДЕЛЬНОЙ ЭКОНОМИЕЙ ПАМЯТИ
§ 4 . 1 . Предпосылки |
метода |
|
|
|
149 |
|||
§ |
4.2. Характеристики |
оператора |
упорядочения |
|
||||
|
последовательностей методом |
вставки . |
. |
152 |
||||
§ |
4.3. Особенности |
процедуры |
упорядочения |
при |
|
|||
|
чередовании кратных и чередовании некрат |
|
||||||
|
ных шагов |
|
|
|
|
|
|
170 |
§ 4.4. Изменение |
степени неупорядоченности в про |
|
||||||
|
цессе выполнения |
процедуры |
. . . |
. |
174 |
|||
§ 4.5. Сложность |
выполнения |
процедуры упорядо |
|
|||||
|
чения |
|
|
|
|
. . . |
. |
179 |
§ |
4.6. Блок-схема |
|
алгоритма |
упорядочения . |
|
183 |
ГЛАВА 5
УПОРЯДОЧЕНИЕ ДЕЛЕНИЕМ МАССИВА
§ |
5.1. |
Предпосылки |
метода |
|
|
|
187 |
|
§ |
5.2. |
Оператор |
разделения массива |
. , . . . |
190 |
|||
§ |
5.3. |
Основные |
характеристики |
оператора . . |
193 |
|||
§ |
5.4. |
Разделение по первому элементу массива |
197 |
|||||
§ |
5.5. |
Организация |
процедуры |
упорядочения |
. |
203 |
||
§ |
5.6. Выбор из массива элемента для разделения |
208 |
||||||
§ |
5.7. Упорядочение |
с использованием |
элементов |
|
||||
|
|
эквивалентного |
массива |
|
|
|
229 |
ОГЛАВЛЕНИЕ |
•5 |
ГЛАВА S
ПОРАЗРЯДНОЕ УПОРЯДОЧЕНИЕ
§6 . 1 . Характеристики процедуры поразрядного
|
|
упорядочения |
|
|
|
|
|
|
|
|
233 |
|||
§ |
6.2. Организация |
процедуры |
|
поразрядного упо |
|
|||||||||
|
|
рядочения |
|
|
|
|
|
|
|
|
|
239 |
||
§ |
6.3. Упорядочение |
по группе |
|
разрядов . |
. . |
2444^ |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
./ |
ГЛАВА |
7 |
|
|
|
|
|
|
|
|
|
|
|
||
МЕТОДЫ УПОРЯДОЧЕНИЯ |
|
|
|
|
|
|
||||||||
ИНФОРМАЦИИ ВО ВНЕШНИХ ЗУ |
|
|
|
|||||||||||
§ |
|
7.1. Специфические особенности |
внешнего |
упо |
|
|||||||||
|
|
рядочения |
|
|
|
|
|
|
|
|
|
257 |
||
§ |
|
7.2. Основные |
операторы |
процедуры |
внешнего |
|
||||||||
|
|
упорядочения |
слиянием |
|
|
|
|
|
259 |
|||||
§ |
|
7.3. Метод |
упорядочения |
с |
несколькими |
вы |
|
|||||||
|
|
ходными |
лентами |
|
|
|
|
|
|
|
268 |
|||
§ |
|
7.4. Метод |
упорядочения |
|
с |
чередованием опера |
|
|||||||
|
|
торов формирования |
и слияния . . . |
. |
271 |
|||||||||
§ |
7.5. Метод |
упорядочения |
|
с одной |
выходной лен |
|
||||||||
|
|
той . . . |
|
|
|
|
|
|
|
274 |
||||
§ |
|
7.6. Оценка |
сложности |
процедуры |
упорядоче |
|
||||||||
|
|
ния с одной |
выходной |
лентой . . . |
. |
284 |
||||||||
§ |
|
7.7. Упорядочение |
на одной |
ленте . . . |
. |
287 |
||||||||
ГЛАВА |
8 |
|
|
|
|
|
|
|
|
|
|
|
||
ОРГАНИЗАЦИЯ ИНФОРМАЦИИ В ВИДЕ |
|
|
||||||||||||
ДВОИЧНЫХ ДЕРЕВЬЕВ |
|
|
|
|
|
|
|
|
||||||
§ 8 . 1 . Определение |
двоичного |
|
дерева |
и основная |
|
|||||||||
|
|
терминология |
|
|
|
|
|
|
|
|
291 |
|||
§ |
|
8.2. Свойства |
упорядоченных |
двоичных |
де |
|
||||||||
|
|
ревьев |
|
|
|
|
|
|
|
|
|
|
296 |
|
§ |
|
8.3. Алгоритмы |
поиска |
|
|
и |
формирования в |
|
||||||
|
|
двоичном |
дереве |
|
|
|
|
|
|
. . |
302 |
|||
§ |
|
8.4. Некоторые |
статистические |
характеристики |
|
|||||||||
|
|
неперестраиваемых |
|
деревьев . . |
. . |
311 |
||||||||
ГЛАВА |
9 |
|
|
|
|
|
|
|
|
|
|
|
||
МЕТОДЫ ПЕРЕСТРОЙКИ ДВОИЧНЫХ |
|
|
||||||||||||
ДЕРЕВЬЕВ |
|
|
|
|
|
|
|
|
|
|
|
|||
§ |
|
9.1. Постановка |
вопроса |
|
о |
перестройке деревьев |
|
|||||||
|
|
в |
процессе их формирования . . |
. . |
320 |
|||||||||
§ |
9.2. Метод |
перестройки |
|
неполных узлов дерева |
324 |
6 |
|
ОГЛАВЛЕНИЕ |
|
|
|
|
§ |
9.3. Метод |
перестройки дерева с |
ограничением |
|
||
|
веса перестраиваемых |
узлов |
. . |
. . |
333 |
|
§ |
9.4. Метод |
преобразования |
внутренних |
цепочек |
|
|
|
дерева |
|
|
|
|
342 |
ГЛАВА ю
ВОПРОСЫ СОВМЕСТНОЙ ОПТИМИЗАЦИИ ПРОЦЕССОВ ПОИСКА
ИУПОРЯДОЧЕНИЯ
§10.1. Организация поиска и упорядочения в
статическом массиве |
|
363 |
|
§ 10.2. Поиск и |
упорядочение |
в динамическом |
|
массиве |
|
|
373 |
Приложение. |
Сравнительные |
характеристики |
|
основных |
методов упорядочения . . |
376 |
|
Литература |
|
|
380 |
ПРЕДИСЛОВИЕ
Самые разнообразные сферы человеческой деятель ности предъявляют требования построения информаци онно-поисковых систем. К ним относятся: экономика с ее задачами учета и планирования, библиография, ме дицина с ее задачами диагностики и обработки меди цинской статистики, наука и техника. В связи со стре мительным ростом объемов информации, которыми при ходится оперировать, задача поиска информации по за данным условиям становится чрезвычайно трудоемкой. Чтобы облегчить поиск, требуется специальная органи зация информации. Вопросам организации информации, в которой должен осуществляться поиск, и посвящена настоящая книга. В литературе описано большое коли чество различных методов упорядочения информации. Разнообразие методов упорядочения не случайно. Оно определяется разнообразием условий, в которых осуще ствляется упорядочение:
подлежащая упорядочению информация может иметь разную статистическую структуру, т. е. быть либо со
вершенно случайной, либо частично |
упорядоченной в |
силу условий, при которых она образуется; |
|
упорядочение информации может |
осуществляться |
либо после поступления всей информации, либо в про цессе ее поступления, т. е. в динамике;
упорядочиваемая информация в зависимости от объе ма может храниться либо на внешних носителях инфор мации типа магнитных лент, либо в оперативной памяти цифровой машины;
в некоторых случаях основным требованием к про цедуре упорядочения является максимальное быстро действие, в других случаях — наилучшее использование
объемов |
памяти. |
Как |
метод организации информации — в виде масси |
ва или упорядоченного дерева,— так и соответствующая |
процедура упорядочения должны выбираться с учетом предъявляемых к ним требований и ограничений, с ко-
ПРЕДИСЛОВИЕ
торыми при этом выборе необходимо считаться. В книге поэтому рассматриваются критерии выбора тех или иных методов организации информации и ее упорядоче ния, а также анализируются ограничения, в которых должна выполняться процедура упорядочения. Критерии
эти должны носить |
количественный характер и поэтому |
в книге специально |
исследуются вопросы количествен |
ной оценки степени неупорядоченности, ее изменения в процессе упорядочения, сложности выполнения отдель
ных |
этапов процедуры упорядочения и всей |
процедуры |
в целом. |
|
|
На этой основе появляется возможность рассмотре |
||
ния |
разнообразных методов упорядочения |
с единой |
точки зрения и сравнения разных методов упорядочения друг с другом. Более того, появляется возможность мо дификации исследованных в книге методов, если их при
дется выполнять |
в условиях, |
отличающихся |
от |
тех, |
||||
которые описаны в книге. |
|
|
|
|
|
|
||
|
При написании |
книги авторам пришлось |
столкнуться |
|||||
с |
рядом вопросов, |
ответы |
на которые |
не удалось |
найти |
|||
в |
литературе. Удачными |
или |
неудачными |
оказались |
||||
попытки авторов |
самостоятельно разрешить |
эти |
вопро |
|||||
сы — судить читателю. За |
замечания |
читателей, |
осно |
вания для которых в книге наверняка имеются, авторы заранее благодарны.
Работа над рукописью книги и подготовкой ее к из данию протекала в сотрудничестве со многими специа листами, роль которых трудно переоценить. Авторам приятно отметить роль профессора А. И. Китова, до цента В. С. Зубова, доброжелательно и квалифициро ванно рецензировавших и редактировавших рукопись книги. Авторы много почерпнули из бесед с кандидата ми технических наук В. Н. Антоновым, А. М. Томашпольским и инженером И. Н. Немцовой, которые про читали ряд глав рукописи и сделали много критических замечаний, с благодарностью принятых авторами. Авто ры признательны студентам Московского института ра диотехники, электроники, автоматики А. Н. Андрееву,
А.В. Егорову, А. В. Мееровичу, Т. Н. Прудниковой и
А.3. Тейтельману, а также инженеру Э. Г. Дуленко, со ставившим ряд программ по упорядочению и собравшим соответствующие статистические данные.
ГЛАВА 1
ПОИСК ИНФОРМАЦИИ В ЗУ ЦИФРОВЫХ МАШИН
§ 1.1. Определение процедуры поиска. Обзор
характерных условий поиска
Пусть имеется множество А объектов a Œ А, инфор мация о каждом из которых в отдельности хранится в закодированном виде в запоминающем устройстве циф ровой машины. В состав информации входят, в частно
сти, признаки, |
|
позволяющие отличить один |
объект от |
|||
другого. |
|
|
|
|
|
|
Признаки представляют собой либо идентификаторы, |
||||||
т. е. наименования или обозначения отдельных |
харак |
|||||
теристик объекта, либо числа, с |
той или |
иной |
стороны |
|||
количественно характеризующие |
объект. |
|
|
|
||
Поиском |
мы |
будем называть |
процедуру |
выделения |
||
из множества |
А |
объектов подмножества |
В, |
содержаще |
го все объекты, признаки которых удовлетворяют неко торому заранее поставленному условию, и только эти объекты.
Условие, по которому отбираются объекты из мно
жества А в подмножество В, будем называть |
условием |
поиска. |
|
Не претендуя на исчерпывающую полноту |
перечисле |
ния возможных условий поиска, укажем на некоторые характерные их типы.
1. Задан некоторый код, называемый ключом, и тре буется выделить все объекты, признаки которых, интер претируемые чаще всего как идентификаторы, но иногда и как числа, совпадают с заданным ключом. Поиск, осуществляемый по условию совпадения признака с заданным ключом, будем называть поиском по совпа дению.