1.
Абстрагирование
данных. Концепция типа данных.
2.
Массив –
фундаментальная структура данных. Отображение массива на оперативную память,
выравнивание, упаковка.
3.
Записи (record)- фундаментальные структуры. Отображение записи на
ОП, упакованная запись.
4.
Представление
множества, как фундаментальной структуры данных, в память машины.
5.
Последовательный
файл, как фундаментальная структура
данных бесконечной мощности. Буферизация.
6.
Элементарные
операции над файлами. Структура файловой системы.
7.
Алгоритм
линейного поиска элемента в массиве и его оптимизация – установка «барьера».
8.
Алгоритм поиска
по ключу в массиве делением пополам и пути повышения его эффективности.
9.
Алгоритм поиска в
таблице, т.е. когда ключ является структурой (массив символов).
10.
Прямой поиск образа
в строке и эффективный поиск образа – КМП - алгоритм.
11.
Сортировка: общие
понятия, классификация, характеристики, цели.
12.
Сортировка
массива прямым включением (блок-схема алгоритма).
13.
Алгоритм
сортировки двоичным включением – модификация прямого включения. Блок-схема.
14.
Сортировка массива
прямым выбором (блок-схема алгоритма).
15.
Сортировка
массива с помощью прямого обмена (пузырьковая сортировка)- блок-схема алгоритма.
16.
Алгоритм шейкерной
сортировки (блок-схема алгоритма).
17.
Улучшенный метод
сортировки – сортировка Шелла (блок-схема алгоритма).
18.
Сортировка
деревом. Сдвигающий алгоритм Флойда и его применение для построения пирамиды и
получения упорядоченности элементов с помощью пирамиды.
19.
сортировка с помощью
разделения – Quick Sort, (блок – схема разделения и ее рекурсивное
использование в общей процедуре Quick
Sort).
20.
Применение
алгоритма разделения Quick
Sort для эффективного нахождения медианы.
21.
Порядковые
статистики. Нахождение медианы.
22.
Сортировка
последовательностей. Прямое слияние (рекурсивный алгоритм)
23.
Рекурсия в
алгоритмах. Организация и эффективность применения.
24.
Полустатические
структуры данных – организация очереди, стека, дека. Программирование
элементарных операций.
25.
Организация
линейного списка. Программирование элементарных операций: включение и
исключение элементов, проход по списку.
26.
Линейный упорядоченный
список, на примере построения алфавитно-частотного словаря.
27.
Двусвязные
списки; алгоритм поиска и включения в упорядоченном списке.
28.
Топологическая
сортировка (структурная блок-схема и блок-схема функции поиска компоненты по
заданному ключу).
29.
Динамические
структуры – реальные структуры данных. Моделирование кольцевой очереди.
30.
Динамические
структуры данных. Моделирование кольцевого стека.
31. Деревья. Основные понятия.
32.
Двоичные деревья.
Пример построения идеально сбалансированного дерева.
33.
Основные операции
с двоичными деревьями. Способы обхода.
34.
Алгоритм поиска
по ключу в двоичном дереве.
35.
Алгоритм поиска и
включения элемента в двоичное дерево (рекурсивный).
36.
Алгоритм
исключения элемента из двоичного дерева (рекурсивный).
37.
Порядковые
статистики. Нахождение медианы алгоритмом выбора с линейным временем работы О (n) в наихудшем случае (структура алгоритма).
38. Порядковые статистики. Нахождение медианы. Алгоритм Хоара.