Назад

Методы программирования

Семинары

Семинар 1

Дата: 2 сентября 2004 г.
Тема: Повторение материала предыдущего семестра. Поиск, сортировки.
Материалы: Пятиминутка (PDF, PostScript, OO Writer).

Семинар 2

Дата: 9 сентября 2004 г.
Тема: Подробно об указателях. Связь массивов и указателей. Передача массивов в функции. Арифметика указателей. Выделение памяти (malloc(), free()).
Материалы: Пятиминутка (PDF, PostScript, OO Writer).

Семинар 3

Дата: 16 сентября 2004 г.
Тема: Связанные списки. Структура, выделение памяти, добавление и удаление элементов. Проход по списку (while (p) p = p->next;). Кратко о двусвязных списках. Стеки, очереди, деки. Примеры использования. Задача о скобках, перевод выражения из инфиксной формы в постфиксную («обратная польская запись») и вычисление значения выражения в постфиксной записи.
Материалы: Пятиминутка (PDF, PostScript, OO Writer). Информация об односвязных списках и об алгоритмах вычисления на стеке в разделе практики.

Семинар 4

Дата: 23 сентября 2004 г.
Тема: Задачи на списках. «Разворот» списка, слияние двух отсортированных списков, задача Иосифа. Хэш-таблицы с разрешением коллизий при помощи списков.
Материалы: Пятиминутка (PDF, PostScript, OO Writer). Информация о хэш-таблицах в разделе практики.

Семинар 5

Дата: 30 сентября 2004 г.
Тема: Самостоятельная работа по спискам. Бинарные деревья. Инфиксный, префиксный, постфиксный обходы.

Семинар 6

Дата: 7 октября 2004 г.
Тема: Разбор самостоятельной работы. Группа 1: Задачи на обходы деревьев. Группа 2: Деревья двоичного поиска, добавление узлов в дерево двоичного поиска.
Материалы: Информация о двоичных деревьях в разделе практики.

Семинар 7

Дата: 14 октября 2004 г.
Тема: Группа 1: Повторение темы практического задания 2. Деревья двоичного поиска. Группа 2: Удаление узлов из дерева двоичного поиска. Сбалансированные деревья. Правая и левая скобочные записи деревьев.

Семинар 8

Дата: 21 октября 2004 г.
Тема: Графы. Способы представления графов: матрица смежности, список ребер, списки смежности. Топологическая сортировка на матрицах смежности.
Материалы: Информация о топологической сортировке в разделе практики.

Семинар 9

Дата: 28 октября 2004 г.
Тема: Контрольная работа. Топологическая сортировка на иерархических списках.

Семинар 10

Дата: 4 ноября 2004 г.
Тема: Транзитивное замыкание. Обходы графа в глубину и в ширину.
Материалы: Информация о способах обхода графа в разделе практики.

Семинар 11

Дата: 11 ноября 2004 г.
Тема: Алгоритмы Флойда и Дейкстры для поиска кратчайших путей в графе..
Материалы: Информация об алгоритмах Флойда и Дейкстры в разделе практики.

Семинар 12

Дата: 18 ноября 2004 г.
Тема: Каркас графа. Задачи на каркас. Алгоритмы Прима и Краскала для поиска каркаса минимальной стоимости.
Материалы: Информация об алгоритмах Прима и Краскала в разделе практики.

Семинар 13

Дата: 25 ноября 2004 г.
Тема: Двусвязность. Алгоритм поиска двусвязных компонент и точек сочленения.

Семинар 14

Дата: 2 декабря 2004 г.
Тема: Эйлеровы и гамильтоновы циклы. Критерий существования эйлерова пути, эйлерова цикла. Алгоритм Флери, алгоритм со стеком. Раскраска графа в два цвета, двудольные графы, паросочетания. Задача о кубиках с буквами. Алгоритм поиска максимального паросочетания через чередующиеся пути.

Семинар 15

Дата: 9 декабря 2004 г.
Тема: Контрольная работа по теории графов. [Группа 1: качественные задачи, проверка связности двух вершин графа, подсчет количества различных путей между двумя вершинами графа. Группа 2: качественные задачи, подсчет длины кратчайшего пути между двумя вершинами в неориентированном графе, подсчет диаметра графа.] Динамическое программирование. Задача о максимальном подпалиндроме, задача о максимальной общей подпоследовательности (алгоритм Ахо).

Семинар 16

Дата: 16 декабря 2004 г.
Тема: Задачи на динамическое программирование: лыжники, скобки, гангстеры. Краткий обзор курса методов программирования за год.