# Материалы ### [Рейтинг](https://docs.google.com/spreadsheets/d/1x0QXLui70Cj9NGqFVXYDVrasO0QE8Qx4zBAHUxsTGT4/edit?usp=sharing) ### [Павловская](http://cph.phys.spbu.ru/documents/First/books/7.pdf) ## Доп. задачи * RLE и Хаффман * Задача коммивояжера (простой перебор, метод Литтла, метод муравьиных колоний) ## 25.05.18 Решение уравнения f(x) = 0 * Бинарный поиск * Метод хорд * Метод касательных ## 18.05.18 Графы * [Задача C. Заправки](http://informatics.mccme.ru/mod/statements/view3.php?id=193&chapterid=7) * [Задача D. Есть ли цикл?](http://informatics.mccme.ru/mod/statements/view3.php?id=218&chapterid=98) * [Задача H. Два профессора](http://informatics.mccme.ru/mod/statements/view3.php?id=218&chapterid=1334) * [Задача B. Получи дерево](http://informatics.mccme.ru/mod/statements/view3.php?id=261&chapterid=182) ## 11.05.18 Комбинаторика * [Задача F. Все перестановки заданной длины](http://informatics.mccme.ru/mod/statements/view3.php?id=211&chapterid=85) * [Задача D. Следующая...](http://informatics.mccme.ru/mod/statements/view3.php?id=264&chapterid=194) * [Задача M. Разбиение на неубывающие слагаемые, обратный порядок](http://informatics.mccme.ru/mod/statements/view3.php?id=211&chapterid=92) * [* Задача B. Степень перестановки](http://informatics.mccme.ru/mod/statements/view3.php?id=265&chapterid=196) ## 13.04.18 B-дерево Написать класс, реализующий B-дерево. ## 13.04.18 АВЛ-дерево Написать класс, реализующий АВЛ-дерево. ## 6.04.18 Классы Написать класс, реализующий бинарное дерево. Кроме операций добавления, удаления и т.д. описать в методах решение следующих задач: [Задача F](http://informatics.mccme.ru/mod/statements/view3.php?id=599&chapterid=762), [Задача E](http://informatics.mccme.ru/mod/statements/view3.php?id=599&chapterid=761) Теперь в оценку за программу входит то, как вы пишете код. Плохо написанный код оценивается меньше. ## 30.03.18 Разбор арифметических операций Написать программу, которая парсит арифметическое выражение (пр. ((a+b)*(c-d)) с использованием бинарного дерева (то, что делали на паре) Так же вывод арифметического выражения и рекурсивный подсчет самого выражения ## 16.03.18 Двоичное дерево поиска Написать двоичное дерево поиска * Добавление * Поиск * Удаление * Печать (любым обходом) ## 9.03.18 Сортировки Реализовать сортировку номер которой соответствует номеру в рейтинге % 4 0. слиянием 1. подсчётом 2. карманная (блочная) 3. поразрядная ## 2.03.18 Хеш таблица Реализовать хеш-таблицу с закрытой адресацией (метод цепочек). Для удобства тестирования введем след. обозначения: * max_len = 256 * хеш-фушкцию считаем как сумму кодов символов по модулю max_len Пример структуры: ``` c++ struct List { string key; string value; List * next; }; ``` Функции: * Добавление в таблицу: void add(List *, string , string ) * Удаление: bool del(List *, string) * Поиск: List* search(List *, string) * Вывод всей таблицы: void print(List *) * Ну и сама хеш-функция: int h(string)