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

AlgStr / МПХОИ / MPXOI2

.DOC
Скачиваний:
30
Добавлен:
23.03.2015
Размер:
53.25 Кб
Скачать

З А Д А Н И Я

по курсу "Методы представления, хранения и обработки информации"

З А Д А Н И Е 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

-------------------------------------------------------------------

-------------------------------------------------------------------

-------------------------------------------------------------------

-------------------------------------------------------------------

-------------------------------------------------------------------

-------------------------------------------------------------------

Соседние файлы в папке МПХОИ