
- •Динамические структуры данных
- •Рекурсивная структура данных
- •Виды динамических структур
- •Динамические структуры данных:
- •Линейные списки
- •Основные определения
- •Основные ОПЕРАЦИИ
- •3. Проход по
- •4. Удаление 1 елемента из списка
- •5. Вставка елемента в список после элемента
- •6. Вставка елемента в список перед элементо
- •7. Поиск елемента в списке
- •8. Вывод списка от головы к хвосту
- •9. Рекурсивный вывод списка от хвоста к голове
- •10. Рекурсивное удаление елементов списка
- •11. Создание упорядоченного списка procedure sort(var
- •Сортировка списка Р
- •Пример работы со списком
- •{ добавление элемента в конец списка }
- •{ -------------------- поиск элемента по ключу ----- } function find(beg : pnode; key
- •{ ----------------------------- вставка элемента ----- }
- •{ ------------------------- главная программа ----- }
- •2: begin
- •Динамические структуры данных:
- •Двусвязные
- •Создание двусвязного списка var р,q:list;
- •Односвязные списки
- •двусвязный список
- •Кольцевые списки
- •Создание кольцевого списока
- •Динамические структуры данных:
- •Стек
- •Добавление элемента в стек
- •Выборка из стека
- •Пример работы со стеком
- •{ -------------------------------- занесение в стек ----- }
- •Пример работы со стеком
- ••Function Corresp:boolean;
- •Очередь
- •Выборка элемента из начала
- •Очередь
- •Очередь
- •Добавление елемента в конец очереди.
- •Добавление елемента в конец
- •Добавление елемента в конец

Динамические структуры данных
2

Рекурсивная структура данных
Элемент динамической структуры состоит из двух частей:
1.информационной;
2.указателей:
type |
d |
s |
|
p |
pnode = ^node; |
|
|
|
|
|
|
|
|
|
node = record |
|
|
|
|
d : word; |
{ | информационная | } |
|||
s : string; |
{ | |
часть |
| } |
|
p : pnode; |
{ указатель на следующий элемент } |
|||
end; |
|
|
|
|
3
Виды динамических структур
•Линейные списки
–Односвязные линейные списки
–Двухсвязные линейные списки
•Кольцевые списки
–Односвязные кольцевые списки
–Двухсвязные кольцевые списки
•Стеки
•Очереди
•Деревья
–бинарные деревья
–Б-деревья
•Пирамиды
4
Динамические структуры данных:
линейные списки
5

Линейные списки
• |
односвязные |
|
• кольцевые |
|
|
||||
• |
двусвязные |
|
|
|
|
|
Каждый элемент списка |
||
|
|
|
|
|
|
|
|
|
содержит ключ, |
|
|
|
|
идентифицирующий этот |
|
|
|
|
элемент. |
|
|
|
|
|
Операции со списком:
•начальное формирование списка (создание первого элемента);
•добавление элемента в начало (конец) списка;
•чтение элемента с заданным ключом;
•вставка элемента в заданное место списка (до или после элемента с заданным ключом);
•удаление элемента с заданным ключом;
•упорядочивание списка по ключу.
6

Основные определения
• Линейные односвязные списки
Р
Голова
Вершина
УЗЕЛ
7

Основные ОПЕРАЦИИ
1.Создание пустого списка P=Nil
2.Создание элемента списка
Построение списка
8

9

3. Проход по
(Р(р^) любая операция над
10

4. Удаление 1 елемента из списка
11