User Tools

Site Tools


courses:algorithms_building_and_analysis:lectures

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:algorithms_building_and_analysis:lectures [2024/01/31 00:49]
kalishenko
courses:algorithms_building_and_analysis:lectures [2024/05/11 23:09] (current)
kalishenko
Line 1: Line 1:
 ====== Программа ====== ====== Программа ======
 ===== Сложность алгоритмов ===== ===== Сложность алгоритмов =====
-  - Виды сложности+  - Виды сложности
 +    * Операции 
 +    * Время 
 +    * Память
   - Понятие вычислительной сложности в зависимости от размера входа   - Понятие вычислительной сложности в зависимости от размера входа
   - Константная сложность на примере vector и unordered_set:​   - Константная сложность на примере vector и unordered_set:​
     * Амортизированная     * Амортизированная
     * В среднем     * В среднем
 +    * В худшем
  
 ===== Поиск с возвращением ===== ===== Поиск с возвращением =====
Line 17: Line 21:
  
 ===== Жадные алгоритмы ===== ===== Жадные алгоритмы =====
-  - ...+  - Задача об оптимальном расписании 
 +  - Задача о префиксном кодировании 
 +  - Принцип доказательства оптимальности работы жадного алгоритма
  
 ===== Графы ===== ===== Графы =====
Line 32: Line 38:
   - Оптимизация Штейна алгоритма Каргера   - Оптимизация Штейна алгоритма Каргера
  
-==== Кратчайшие пути. A* и его расширения ​==== +==== Кратчайшие пути. A* ==== 
-  ​Напоминание ​о A*+  - Напоминание об алгоритмах поиска пути: 
 +    - Поиск в ширину 
 +    - Дейкстра 
 +  - A*: 
 +    - Выбор направления ​пути Дейкстрой при 0-взвешивании рёбер оптимального пути 
 +    - Доказательство неизменности пути при перевзвешивании рёбер 
 +    - Ограничения А*
   - Эвристические функции   - Эвристические функции
 +
 +==== Кратчайшие пути. Расширения A* ====
   - Алгоритм ALT   - Алгоритм ALT
   - Алгоритм REACH   - Алгоритм REACH
   - Алгоритм Arc flags   - Алгоритм Arc flags
- 
-==== Топологическая сортировка ====  ​ 
-  - Ограничения на циклы 
-  - Алгоритм нумерацией шагов обхода 
-  - Алгоритм исключения вершины с минимальным количеством входящих рёбер 
  
 ==== Задача о коммивояжёре ==== ==== Задача о коммивояжёре ====
Line 55: Line 64:
  
 ==== Потоки в графах ==== ==== Потоки в графах ====
 +  - Напоминание Форда-Фалкерсона
 +    * Идея поиска пути в остаточной сети
 +    * Обратные рёбра
 +    * Сложность ​
   - Алгоритм Гольдберга (проталкивания предпотока):​   - Алгоритм Гольдберга (проталкивания предпотока):​
     * Идея push-relabel алгоритмов     * Идея push-relabel алгоритмов
Line 82: Line 95:
   - Наивное построение префикс-функции и его сложность   - Наивное построение префикс-функции и его сложность
   - Построение префикс-функции за линейное время   - Построение префикс-функции за линейное время
 +  - Оптимизация сложности по памяти
  
 ==== Алгоритм Ахо-Корасик ==== ==== Алгоритм Ахо-Корасик ====
Line 94: Line 108:
     * Сведение к графу     * Сведение к графу
     * Выделение подзадачи     * Выделение подзадачи
-  - Задача о рюкзаке:​ 
-    * Без повторений (одномерный случай) 
-    * С повторениями (двумерный случай) 
   - Задача о порядке перемножения матриц  ​   - Задача о порядке перемножения матриц  ​
  
Line 134: Line 145:
   - Применения и сложность задачи построения клик графа   - Применения и сложность задачи построения клик графа
   - Алгоритм нахождения клик на основе поиска с возвращением.   - Алгоритм нахождения клик на основе поиска с возвращением.
 +
 +==== Топологическая сортировка ====  ​
 +  - Ограничения на циклы
 +  - Алгоритм нумерацией шагов обхода
 +  - Алгоритм исключения вершины с минимальным количеством входящих рёбер
  
 ==== Алгоритм Рабина-Карпа ==== ==== Алгоритм Рабина-Карпа ====
Line 145: Line 161:
   - Метод расщепления   - Метод расщепления
   - Сведения   - Сведения
 +
 +===== Динамическое программирование =====
 +  - Задача о рюкзаке:​
 +    * Без повторений (одномерный случай)
 +    * С повторениями (двумерный случай)
 </​WRAP>​ </​WRAP>​
courses/algorithms_building_and_analysis/lectures.1706662145.txt.gz · Last modified: 2024/01/31 00:49 by kalishenko