Оглавление (1106262)
Текст из файла
-
Вводная лекция. Цели и задачи курса. Характеристика разделов курса – введение в алгоритмы, язык программирования, структуры данных. Алгоритмы. Формализация понятия алгоритма. Машина Тьюринга. Примеры МТ.
-
Диаграммы Тьюринга. Построение языка описания МТ. Композиция алгоритмов. Универсальная МТ.
-
Универсальная МТ (окончание). Проблемы останова и самоприменимости. Нормальные алгоритмы Маркова. Примеры других алгоритмических систем. Основная гипотеза теории алгоритмов. Тезис Тьюринга-Черча.
-
Общая классификация и характеристики языков программирования. Место языка Си в современной индустрии ПО. Стандарты и роль стандартизации. Язык программирования Си. Описание Си-машины: процессор, классы памяти (регистровые, автоматические и статические переменные, глобальные переменные), структура программного файла. Системные библиотеки и их использование.
-
Типы данных языка Си: целые, логические, символьные, с плавающей точкой, беззнаковые целые. Арифметические и логические выражения. Старшинство операций. Операции присваивания.
-
Форматный ввод-вывод. Приведение типов при вычислении выражений (явное и неявное). Операторы.
-
Обработка символьных данных. Массивы. Многомерные массивы. Строки. Обработка строк. Системная библиотека работы со строками.
-
Указатели. Адресная арифметика. Массивы и указатели. Оператор sizeof и его тип. Функции. Определение и объявление функции. Передача параметров.
-
Рекурсия. Хвостовая рекурсия. Представление данных с плавающей точкой.
-
Вычисление сумм и произведений данных с плавающей точкой. Потеря точности при вычитании. Выбор правильной последовательности вычислений. Побитовая обработка данных. Беззнаковые целые типы. Абстрактный тип данных «множество» и его реализация. Структуры. Указатели на структуры.
-
Объединения. Анонимные структуры и объединения. Битовые поля. Перечисления.
-
Динамическое выделение и освобождение памяти. VLA-массивы и их выделение в динамической памяти. Массив переменного размера в составе структуры. Схема компиляции программ на языке Си. Препроцессор. Директивы препроцессора.
-
Директивы препроцессора (окончание). Компоновка. Классы памяти и компоновки. Отладка программ. Понятие об отладчике gdb. Организация типа данных «стек» на динамической памяти.
-
Использование стека для построения обратной польской записи. Очередь. Списки. Алгоритмы работы со списками: вставка элемента в начало и конец списка.
-
Алгоритмы работы со списками: поиск и удаление элемента. Алгоритм топологической сортировки Вирта.
-
Понятие о сложности алгоритмов. Простейшие алгоритмы сортировки. Оценка сложности алгоритмов сортировки. Быстрая сортировка.
-
Поиск подстроки по образцу. Простейший алгоритм. Алгоритм Кнута – Морриса – Пратта (КМП). Префикс-функция и ее вычисление. Сложность вычисления префикс-функции и алгоритма КМП.
-
Двоичные деревья. Обход двоичного дерева (сначала в глубину, сначала в ширину). Нерекурсивный обход двоичного дерева. «Прошитое» двоичное дерево и его обход.
-
Двоичные деревья поиска и операции над ними (поиск элемента, минимальный и максимальный элементы, следующий элемент, вставка и удаление элемента). Деревья Фибоначчи. Оценка высоты дерева Фибоначчи.
-
АВЛ-деревья. Базовые операции над АВЛ-деревьями. Балансировка АВЛ-дерева. Вставка и удаление элемента в/из АВЛ-дерева. Оценка высоты АВЛ-дерева по дереву Фибоначчи.
-
Красно-черные деревья. Структура данных «куча» (heap) и сортировка heapsort (пирамидальная сортировка).
-
Хеш-таблицы. Хеширование. Хеширование цепочками. Хеширование с открытой адресацией.
-
Цифровой поиск. Задача цифрового поиска. Деревья цифрового поиска. Алгоритмы перебора множеств. Рекурсивный алгоритм генерации перестановок. Нерекурсивный алгоритм: генерация лексикографически следующей перестановки (алгоритм Нарайаны).
-
Самоперестраивающиеся деревья (splay trees). Операция splay (расширение). Реализация словарных операций через операцию splay. Реализация операции splay. Сложность словарных операций в splay-деревьях.
https://StudIzba.com
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.