- •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. Нерекурсивный алгоритм обхода дерева в прямом порядке
2. Стандартные типы пользователя
Перечисляемый
Перечисляемый тип определяется конечным набором значений, представленных списком идентификаторов в объявлении типа. Значениям из этого набора присваиваются номера в соответствии с той последовательностью, в которой перечислены идентификаторы. Формат
объявления перечисляемого типа таков:
ТYРЕ<имя> - (<список>);
<список>:= <идентификатор>,[<список>]
Если идентификатор указан в списке значений перечисляемого типа, он считается именем константы, определенной в том блоке, где объявлен перечисляемый тип. Порядковые номера значений в объявлении перечисляемого типа определяются их позициями в списке идентификаторов, причем у первой константы в списке порядковый номер равен нулю. К данным перечисляемого типа относится, например, набор цветов:
TYPE <Цвет> = (Красный, Зеленый, Синий)
Операции те же, что и для символьного типа.
Диапазонный или интервальный
В любом порядковом типе можно выделить подмножество значений, определяемое минимальным и максимальным значениями, в которое входят все значения исходного типа, находящиеся в этих границах, включая сами границы. Такое подмножество определяет диапазонный тип. Он задаётся указанием минимального и максимального значений, разделенных двумя точками.
TYPE T=[MIN..MAX] TYPE<Чac>=[1..60]
Минимальное значение при определении такого типа не должно быть больше максимального.
3. Структуры данных
Структуры данных - это совокупность элементов данных и отношений между ними. При этом под элементами данных может подразумеваться как простое данное так и структура данных. Под отношениями между данными понимают функциональные связи между ними и указатели на то, где находятся эти данные.
Графическое представление элемента структуры данных.
Элемент отношений - это совокупность всех связей элемента с другими элементами данных, рассматриваемой структуры.
S:=(D,R)
Где S - структура данных, D - данные и R - отношения.
Как бы сложна ни была структура данных, в конечном итоге она состоит из простых данных.
Внутренний мир ЭВМ далеко не так прост, как мы думаем. Память машины состоит из миллионов триггеров, которые обрабатывают поступающую информацию.
Мы, занося инф-цию в компьютер, представляем её в каком-то виде, который на наш взгляд упорядочивает данные и придаёт им смысл. Машина отводит поле для поступающей инф-ции и задаёт ей какой-то адрес. Т.о. получается, что мы обрабатываем данные на логическом уровне, как бы абстрактно, а машина делает это на физическом уровне.
4. Классификация структур данных
Структуры данных классифицируются:
1. По связанности данных в структуре:
- если данные в структуре связаны очень слабо, то такие структуры называются несвязанными (вектор, массив, строки, стеки)
- если данные в структуре связаны, то такие структуры называются связанными (связанные списки)
2. По изменчивости структуры во времени или в процессе выполнения программы:
- статические структуры - структуры, неменяющиеся до конца выполнения программы (записи, массивы, строки, вектора)
- полустатические структуры (стеки, деки, очереди)
- динамические структуры - происходит полное изменение при выполнении программы
3. По упорядоченности структуры:
- линейные (вектора, массивы, стеки, деки, записи)
- нелинейные (многосвязные списки, древовидные структуры, графы)
Наиболее важной характеристикой является изменчивость структуры во времени.