- •1. Типы данных
- •2. Стандартные типы пользователя
- •3. Структуры данных
- •4. Классификация структур данных
- •Векторы
- •5. Записи и таблицы.
- •34. Сортировка методом прямого включения
- •6. Понятие списковой структуры. Стек.
- •7. Очередь.
- •Insert (q, X)
- •8) Пример работы с очередью с использованием стандартных процедур.
- •9.Кольцевые полустатические очереди. Операции над кольцевой очередью
- •10. Понятие Динамических структур данных. Организация односвяз. И двусвяз. Списков. Простейшие операции над односвяз списками
- •11. Реализация стеков с помощью (односвязных) списков
- •12. Смысл и организация операций создания и удаления элемента динамической структуры. Понятие свободного списка и пула свободных эл-ов. Утилизация освободившихся элементов
- •13. Очередь и операции над ней при реализации со связными списками.
- •14. Операции вставки и извлечения элементов из списка. Сравнение этих операций с аналогичными массивами. Недостаток связного списка по сравнению с массивом.
- •1 5. Пример алг реш зад извлечения эл-ов из списка по заданному признаку.
- •16. Пример алг решения зад. Вставки заданных элементов в упорядоченный список.
- •17. Элементы заголовков в списках; нелинейные связные структуры.
- •18. Понятие рекурсивных структур данных. Деревья, их признаки и представления
- •19. Алгоритм сведения m-арного дерева к бинарному; основные операции над деревьями; виды обхода
- •20. Понятие поиска, ключей; назначение и структура алгоритмов поиска
- •21. Последовательный поиск и его эффективность
- •22. Индексно-последовательный поиск
- •23. Переупорядочивание таблиц с учетом вероятности поиска элемента; переупорядочивание путем перестановки в начало списка
- •24) Метод оптимизации поиска путем (Переупорядочивание таблицы) перестановки найденного элемента в начало списка
- •25. Метод транспозиции при оптимизированном поиске (для переупорядочивания таблицы поиска
- •26. Бинарный поиск
- •27. Алгоритм создания упорядоченного бинарного дерева
- •29. Поиск по бинарному дереву с включением
- •33. Сортировка методом прямого выбора
- •30. Поиск по бинарному дереву с удалением
- •28. Эффективность поиска по бинарному дереву
- •31. Алгоритмы прохождения бинарных деревьев
- •32. Понятие сортировки, ее эффективность; классификация методов сортировки
- •35. Сортировка методом прямого обмена (пузырьковая).
- •36. Быстрая сортировка
- •37. Сортировка Шелла
- •38. Сортировка с помощью бинарного дерева
- •39. Сравнительный анализ эффективности методов сортировки
- •40. Нерекурсивный алгоритм обхода дерева в прямом порядке
6. Понятие списковой структуры. Стек.
К полустатическим структурам данных относят стеки, деки и очереди.
Списки
Это набор связанных элементов данных, которые в общем случае могут быть разного типа.
Пример списка:
Е1, Е2,......... Еn,... n > 1 и не зафиксировано.
Количество элементов списка может меняться в процессе выполнения программы. Различают 2 вида списков:
1) Несвязные
2) Связные
В несвязных списках связь между элементами данных выражена неявно. В связных списках в элемент данных заносится указатель связи с последующим или предыдущим элементом списка.
Стеки, деки и очереди - это несвязные списки. Кроме того, они относятся к последовательным спискам, в которых неявная связь отображается их последовательностью.
Стеки
Очередь вида LIFO (Last In First Out - Последним пришел, первым ушел), при которой на обслуживание первым выбирается тот элемент очереди, который поступил в нее последним, называется стеком. Это одна из наиболее употребляемых структур данных, которая оказывается весьма удобной при решении различных задач.
В силу указанной дисциплины обслуживания, в стеке доступна единственная его позиция, которая называется вершиной стека - это позиция, в которой находится последний по времени поступления в стек элемент. Когда мы заносим новый элемент в стек, то он помещается поверх прежней вершины и теперь уже сам находится в вершине стека. Выбрать элемент можно только из вершины стека; при этом выбранный элемент исключается из стека, а в его вершине оказывается элемент, который был занесен в стек перед выбранный из него элементом (структура с ограниченным доступом данным).
Графически стек можно представить следующим образом:
Рис. 2.12
Первый элемент заносится вниз стека . Выборка из стека осуществляется с вершины, поэтому стек является структурой с ограниченным доступом
Операции, производимые над стеками:
1. Занесение элемента в стек.
Push(S,x),
где S - идентификатор стека, x - заносимый элемент.
2. Выборка элемента из стека.
Pop(S)
3. Определение пустоты стека.
Empty(S)
4. Прочтение элемента без его выборки из стека.
StackTop(S)
5. Определение переполнения стека (для полустатических структур)
Full(S)
i = указатель вершины
Push(S,x)
i = i+1
S(i) = x
return
Pop(S)
x = S(i)
i = i -1
return
Empty(S)
if i = 0
then “пусто”
Stop
return
endif
Full(S)
if i = maxS
then “переполнение”
Stop
return
endif
StackTop(S)
x = S(i)
return
Pop(S)
if i = 0 then “пусто”
Stop
return
endif
X = S(i)
i = i -1
return
Empty(S)
if i = 0 then empty = true
else empty = false
endif
return
Pop(S)
Empty(S)
if empty = true
then “пусто”
Stop
return
endif
x = S(i)
i = i -1
return
Push(S,i)
if i = maxS
then “переполнение”
Stop
return
endif
i = i+1
S(i) = x
return