Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
structure_and_algorithms_data_producing_part_1.doc
Скачиваний:
4
Добавлен:
21.04.2019
Размер:
229.38 Кб
Скачать

Структуры и алгоритмы обработки данных

курс лекций для студентов II курса

специальности

Программное Обеспечение

Вычислительной Техники и Автоматизированных Систем

Часть 1

МИИТ, 2006 год

Содержание.

Последовательное представление линейных списков

3

Связанное представление линейных списков

4

Очередь

5

Стек

6

Связанное представление матриц

7 – 8

Бинарное дерево поиска. Построение и поиск элемента

9 – 10

Бинарное дерево поиска. Удаление элемента

11 – 12

АВЛ – дерево. Построение и поиск элемента

13

АВЛ – дерево. Удаление элемента

14

В – дерево. Построение и поиск элемента

15

В – дерево. Удаление элемента

16 – 17

Линейные списки с индексами. Построение и поиск элемента. Коррекция

18

Инвертированные списки

19

Построение словаря с использованием деревьев

20 – 21

Построение словаря с использованием матриц

22

Хеш – таблицы. Функции расстановки

23

Хеш – таблицы. Способы разрешения коллизий

24

Последовательное представление линейных списков

Последовательные линейные списки – это просто одномерные или двумерные массивы. Например: задан массив A из N чисел.

10

2

100

N

Единственное достоинство такой структуры данных – это то, что, когда известен номер элемента, легко вычислить его адрес по формуле: , где - количество байт, занимаемых одним элементом.

Для оценки структуры данных существуют количественные показатели:

1. - среднее количество сравнений при поиске элементов среди множества из N элементов.

2. - количество сравнений при поиске элемента, если его нет во множестве.

3. - среднее количество перемещений элементов при вставке и удалении элементов.

Рассмотрим данные характеристики применительно к последовательным линейным спискам:

; ; Ø; - самые плохие характеристики.

Последовательный линейный список имеет смысл употреблять, когда он упорядочен по возрастанию или убыванию. Здесь потребуется дополнительная работа по сортировке и применению алгоритма поиска. Но в данном случае характеристики значительно улучшатся:

; - самые лучшие; .

Связанное представление линейных списков

Связанные линейные списки – это списки, в которых элементы располагаются не подряд.

x4

x2

x1

x3


Однонаправленный список – динамическая структура данных вида:

Каждый элемент содержит информационное поле и указатель на следующий элемент. Поле ссылки последнего элемента имеет NIL. Информационное поле содержит ключ, идентифицирующий элемент списка, и, возможно, другую информацию.

Двунаправленный список – динамическая структура данных вида:

Каждый элемент включает в себя информационное поле, ссылку на следующий элемент и ссылку на предыдущий элемент.

Характеристика: Ø.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]