Структуры данных и алгоритмы
Материал из DOM
На этой странице размещены материалы, которые я написал несколько лет назад. Стимулом к написанию стали события, когда я прочитал запоем несколько интересных книжек по посвященных основам программирования, алгоритмике и построению грамотных структур данных. Мне стало обидно, что в то время, когда я учился программированию, меня (вообще, наш поток) третировали дурацкими задачами, совершенно не развивавшими культуру программирования, не уделявшими внимания вопросам грамотного проектирования кода, оптимизации. Многие интересные вещи связанные с комбинаторикой, графами были пройдены крайне мерзко (я до сих пор удивляюсь, почему я попал в мир программирования). Запал энтузиазма горел несколько месяцев, в течении которых я писал эти учебные материалы, планируя то, как я мог бы организовать подобный курс. Спустя годы я смотрю на результаты тех лет несколько скептически, появилось достаточное количество книг, статей, написанных лучше и более системно. С другой стороны я горжусь проделанной работой. Все же текст в 200 000 знаков (многие из которых переписаны наново) - это чувствительно (можно было бы даже книжку издать - тонюсенькую, правда).
Данные материалы апробированы на всего двух группах, в промежутке между которыми я вносил крупные изменения. В любом случае я надеюсь, что кому-нибудь данные материалы пригодятся.
[править] Теория
Введение. Анализ алгоритмов. Качество. Оценка временных затрат. СДА Док часть 1
Работа с массивами. Сортировки и поиск. Простые алгоритмы сортировок. СДА Док часть 2
Усовершенствованные алгоритмы сортировки. СДА Док часть 3
Рекурсия. СДА Док часть 4
Динамические структуры данных. СДА Док часть 5
Общие правила и рекомендации к разработке собственных контейнерных структур данных. СДА Док часть 6
Деревья. Основные алгоритмы над деревьями. СДА Док часть 7
Графы и их основные сферы применения в информатике. СДА Док часть 8
Классические задачи программирования. СДА Док часть 9
Порождение и перебор комбинаторных объектов. СДА Док часть 10
Рекуррентные уравнения. Динамическое программирование. СДА Док часть 11
[править] Лабораторные и практические работы
Данная работа посвящена использованию средств двунаправленных динамических списков и общим принципам проектирования контейнеров. Лабораторная работа 1
Тема: простейшие алгоритмы сортировок (сортировка методом пузырька, вставки, выборки) Лабораторная работа 2
Проектирования контейнеров и собственных структур данных. Лабораторная работа 3
Данная работа будет посвящена рекурсии и ее применению. Лабораторная работа 4
Задания по теме поиск и усовершенствованные алгоритмы сортировки. Лабораторная работа 5
Усовершенствованные алгоритмы сортировок. Лабораторная работа 6
Задания к практической работе (Исключения и Рекурсия). Лабораторная работа 7
Простейшие алгоритмы сортировки: сортировка методом прямого обмена, прямой выборкой и вставкой. Лабораторная работа 8
Данная тема продолжает знакомство с динамическими структурами данных (стек, очередь). Лабораторная работа 9
Данная работа посвящена созданию и использованию контейнеров – классов которые служат для хранения и управления множеством объектов. Лабораторная работа 10
Сегодняшняя работа посвящена работе с деревьями. Лабораторная работа 11
|
|
Subscribe Now! |
|
