Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

AlgStr / МПХОИ / MPXOI2

.TXT
Скачиваний:
25
Добавлен:
23.03.2015
Размер:
14.06 Кб
Скачать
З А Д А Н И Я
по курсу "Методы представления, хранения и обработки
информации"

З А Д А Н И Е N 2

Т Е М А : Поиск информации в структурах данных.

Т Е Р М И Н О Л О Г И Я :
-----------------------
Пусть у нас имеется N элементов R1, R2, ..., RN. Назовем их
записями, а всю совокупность N записей назовем файлом.
Каждая запись Rj имеет ключ Kj, который служит для
идентификации записи.
Если доступ к элементу файла осуществляется по ключу, то
такой файл принято называть таблицей (в отличие от массива,
где доступ осуществляется по индексу, который не хранится в
элементе массива (вычисляемый доступ)). Помимо ключа запись
может содержать дополнительную сопутствующую
"информацию", которая не влияет насортировку, но всегда
остается вэтой записи.

На множестве ключей вводится отношение порядка "<" таким
образом, чтобы для любых трех значений ключа A, B, C
выполнялись следующие условия:
1) справедливо одно и только одно из соотношений
A < B, A = B, B < A (закон трихотомии);
2) если A < B и B < C, то A < C (закон транзитивности).
Эти свойства определяют математическое понятие линейного
упорядочения, называемого еще совершенным упорядочением.

Таблица называется сортированной (упорядоченной), если
K1 <= K2 <= ... <= KN. В противном случае таблица считается
несортированной.

П О С Т А Н О В К А З А Д А Ч И :
----------------------------------
Пусть имеется таблица, состоящая из записей R1, R2, ..., RN с
ключами K1, K2, ..., KN и задано некоторое значение ключа K0.
Необходимо найти одну (или все) запись, удовлетворяющую
критерию поиска со значением K0.

КЛАССИФИКАЦИЯ ТЕРМИНОВ, ОТНОСЯЩИХСЯ К ЗАДАЧЕ
ПОИСКА :
---------------------------------------------------

-------------------------------------------------------------------
Обозна-! Название ! Краткая характеристика
чение ! !
-------------------------------------------------------------------
1 ! 2 ! 3
-------------------------------------------------------------------
А. ! Критерий поиска: !
! 1) по совпадению ключей;! 1) Найти такое(ие) i при
! !котором Ki = K0
! 2) интервальный поиск; ! 2) Найти все такие i, что
! ! Ki - K0 ! <= A
! 3) поиск ближайшего; ! 3) Найти такие i, что
! ! Ki - K0 ! ---> min
! 4) поиск по условию ! 4) Найти такие i, что
! !предикат P( K0, Ki ) = истина,
! ! где K0 и Ki - вектора.
-------------------------------------------------------------------
Б. ! Результат поиска: !
! 1) удачный; ! 1) Найдена запись, ключ
! !которой удовлетворяет
! !критерию поиска
! 2) неудачный; ! 2) В таблице отсутствует
! !запись, удовлетворяющая
! !критерию поиска.
-------------------------------------------------------------------
В. ! Использование резуль- !
! тата поиска: !
! 1) Найти, чтобы обра- ! 1) Если искомой записи в
! ботать; ! таблице нет, то считать,
! ! что поиск завершился
! !неудачно.
! 2) Найти и вставить, ! 2) Если искомой записи в
! !таблице нет, то она добавля-
! ! ется к таблице
! !(вставляется) в таблицу.
-------------------------------------------------------------------
Г. ! Динамика изменения таб- !
! ---------------------- !
! лицы: !
! ---- !
! 1) Статическая таблица ! 1) Содержимое таблицы
неизменно.
! 2) Динамическая таблица ! 2) Таблица является объектом
! ! частых (или нечастых) вставок
! ! и (или) удалений.
-------------------------------------------------------------------
Д. ! Способ организации таб.: !
! ----------------------- !
! 1) последовательные ли- ! 1) Доступ к элементам
происходит
! нейные таблицы: ! последовательно, начиная от од-
! ! ного конца таблицы до другого.
! а) сортированные; ! а) элементы таблицы упорядочены
! ! в порядке возрастания (убыва-
! ! ния) ключей;
! б) несортированные. ! б) элементы таблицы
расположены
! ! в произвольном порядке;
! 2) таблицы, организо- ! 2) Элементы таблицы
разбиваются
! ванные как деревья ! на подмножества элементов по
! сравнения. ! правилу:
! ! { ключи } ключ { ключи }
! ! { левого } < корня < { правого }
! ! {поддерева} {поддерева}
! 3) таблицы свычисляемыми! 3) Адрес элемента
вычисляется
! адресами (метод рас- ! как функция от значения ключа:
! становки или хеширо- !
! вания): !
! а) один ключ -один адр.! а) функция длякаждого значения
! ! ключа выдает один адрес;
! б) таблицы, допускающие! б) несколько ключей могу
порож-
! коллизии. ! дать один адрес.
-------------------------------------------------------------------
E. ! Способ работы с ключами:!
! ----------------------- !
! 1) Поиск основан на сра-!
! внении ключей; !
! 2) Поиск основан на ис- !
! пользовании цифровых !
! свойств ключей (на !
! распределении записей)!
-------------------------------------------------------------------
Ж. ! 1) Использование истин- ! 1) В критерии используется сам
! ных ключей; ! ключ;
! 2) Использование преоб- ! 2) В критерии используется
неко-
! разованных ключей. ! торая функция над значением
! ! ключа.
-------------------------------------------------------------------
З. ! Кличество ключей: !
! ---------------- !
! 1) Поиск по первичным ! 1) Для поиска используется один
! ключам; ! ключ (возможно составной);
! 2) Поиск по вторичным ! 2) Для поиска используются и
! ключам. ! гие атрибуты записи, отлич-
! ! ные от ключевых.
-------------------------------------------------------------------
И. ! Виды памяти, использу- !
! --------------------- !
! емые для хранения табли-!
! ----------------------- !
! цы: !
! -- !
! 1) Внутренняя таблица; ! 1) При поиске таблица может
быть
! ! целиком размещена в оператив-
! ! памяти ЭВМ;
! 2) Внешняя таблица. ! 2) Вся таблица не помещается в
! ! оперативной памяти.
-------------------------------------------------------------------


ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ << ПОИСК >>
------------------------------------------

-------------------------------------------------------------------
N за- ! Название ! Обозна-! Лите-
дания! алгоритма ! чение ! ратура
-------------------------------------------------------------------
1. Поиск в неупорядоченной таблице
-------------------------------
1.1 ! Последовательный поиск (простой) ! S ! стр. 470
1.2 ! Быстрый последовательный поиск ! Q ! стр. 471
1.3 ! Сверхбыстрый последовательный поиск ! Q' ! стр. 472
1.4 ! Последовательный поиск в упорядоченной ! !
! таблице ! T ! стр. 473
1.5 ! Самоорганизующийся файл ! - ! стр. 475
-------------------------------------------------------------------
2. Поиск в упорядоченной таблице
-----------------------------
2.1 ! Бинарный поиск ! B ! стр. 484
2.2 ! Однородный бинарный поиск ! U ! стр. 489
2.3 ! Однородный бинарный поиск ! С ! стр. 490
2.4 ! Метод Шера ! - ! стр. 492
2.5 ! Фиббоначиев поиск ! F ! стр. 494
2.5 ! Интерполяционный поиск ! - ! стр. 495
-------------------------------------------------------------------
3. Поиск по бинарному дереву
-------------------------
3.1 ! Поиск с вставкой по дереву ! T ! стр. 504
3.2 ! Удаление по дереву ! D ! стр. 509
3.3 ! Нахождение оптимальных бинарных деревьев! !
! поиска ! K ! стр. 519
3.4 ! Алгоритм Ху-Такера ! - ! стр. 523
-------------------------------------------------------------------
4. Сбалансированные деревья
------------------------
4.1 ! Поиск с вставкой по сбалансированному ! !
! дереву ! A ! стр. 540
4.2 ! Поиск и вставка по позиции в сбалансиро-! !
! ванное дерево ! B и C ! стр. 551
4.3 ! Удаление из дерева, не нарушающее его ! !
! сбалансированности ! - ! стр. 553
4.4 ! Конкатенация двух деревьев, не наруша- ! !
! ющее сбалансированность ! - ! стр. 554
4.5 ! Расщепление списка на две части, конка- ! !
! тенация которых дает исходный список ! - ! стр. 554
4.6 ! Поиск с вставкой в (3-2)-дерево ! - ! стр. 557
4.7 ! Удаление, конкатенация и расщепление ! !
! для (3-2)-деревьев ! - ! стр. 557
-------------------------------------------------------------------
5. Сильно ветвящиеся деревья
-------------------------
5.1 ! Работа с B-деревьями ! - ! стр. 563
-------------------------------------------------------------------
6. Цифровой поиск
6.1 ! Поиск по Бору ! T ! стр. 572
6.2 ! Модификация метода поиска по Бору (Сас- ! !
! сенгет) ! - ! стр. 577
6.3 ! Цифровой поиск по дереву ! D ! стр. 582
6.4 ! ПАТРИЦИЯ - Практический алгоритм для вы-! !
! борки информации, закодированной буква- ! !
! ми и цифрами ! P ! стр. 585
-------------------------------------------------------------------
7. Хеширование
7.1 ! Поиск с вставкой по рассеянной таблице ! !
! с цепочками ! С ! стр. 611
7.2 ! Поиск с вставкой по открытой рассеянной ! !
! таблице ! L ! стр. 616
7.3 ! Открытая адресация с двойным хешир-ем ! D ! стр. 619
7.4 ! Улучшение Брента алгоритма D ! - ! стр. 623
7.5 ! Удаление при линейном опробывании ! R ! стр. 625
-------------------------------------------------------------------
8. Внешний поиск
8.1 ! Алгоритм внешнего поиска ! - ! стр. 635
-------------------------------------------------------------------
9. Выборка по вторичным ключам
9.1 ! Метод "буферизации" ! - ! стр. 652
9.2 ! Инвертированные файлы ! - ! стр. 653
9.3 ! Составные атрибуты ! - ! стр. 659
9.4 ! Бинарные атрибуты ! - ! стр. 660
9.5 ! Кодирование наложением ! - ! стр. 664
9.6 ! Комбинаторное хеширование ! - ! стр. 667
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
Соседние файлы в папке МПХОИ