teaching:ads22223_lecture
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| teaching:ads22223_lecture [2022/12/21 18:25] – Martin Koutecky | teaching:ads22223_lecture [2023/01/09 12:41] (aktuální) – Martin Koutecky | ||
|---|---|---|---|
| Řádek 20: | Řádek 20: | ||
| | 14. 12. | Reductions: SAT, 3-SAT, IndSet, Clique, 3DM. [[https:// | | 14. 12. | Reductions: SAT, 3-SAT, IndSet, Clique, 3DM. [[https:// | ||
| | 21. 12. | 3,3-SAT reduces to 3DM. Classes P, NP; Cook's theorem. [[https:// | | 21. 12. | 3,3-SAT reduces to 3DM. Classes P, NP; Cook's theorem. [[https:// | ||
| + | | 4. 1. | Dealing with NP-hardness. IndSet is solvable on trees; coloring is solvable on interval graphs; Knapsack is solvable in pseudopolynomial time (=when input values are polynomially bounded). Approximation: | ||
| {{page> | {{page> | ||
| + | * {{ : | ||
| - | /* | ||
| - | ====== | + | ====== |
| The exam will consist of: | The exam will consist of: | ||
| - | - Two questions about an algorithm or a data structure from the lecture – describing the algorithm or data structure, proving they are correct, giving the complexity analysis. | + | - Two questions about an algorithm or a data structure from the lecture – describing the algorithm or data structure, proving they are correct, giving the complexity analysis. |
| - Two tasks similar to those from the tutorial – either apply an algorithm / data structure from the lecture to some problem (need to model the problem appropriately) OR adapt the algorithm / data structure to solve some problem (need to understand how it works internally to be able to adapt it appropriately) | - Two tasks similar to those from the tutorial – either apply an algorithm / data structure from the lecture to some problem (need to model the problem appropriately) OR adapt the algorithm / data structure to solve some problem (need to understand how it works internally to be able to adapt it appropriately) | ||
| Řádek 47: | Řádek 48: | ||
| **Disclaimer: | **Disclaimer: | ||
| - | * BFS, DFS and their edge classifications | + | * String searching -- problem definition, basic notions |
| - | * DFS applications: | + | * Knuth-Morris-Pratt Algorithm |
| - | * Dijkstra’s algorithm | + | * Aho-Corasick Algorithm |
| - | * Bellman-Ford’s algorithm | + | * Rabin-Karp Algorithm |
| - | * Floyd-Warshall’s algorithm (small topic) | + | * Network Flows -- problem definition, notions, lemmas |
| - | * Jarník’s algorithm | + | * Ford-Fulkerson |
| - | * Borůvka’s algorithm | + | * Dinitz |
| - | * Kruskal’s algoritmus + Union-Find data structure using trees | + | * Goldberg |
| - | * Binary Search Trees (BSTs) in general | + | * Parallel Algorithms / Circuits |
| - | * AVL trees | + | * Fast Addition |
| - | * $(a, | + | * Fast Sorting |
| - | * Red-black trees – we covered these very briefly, but you should be able to describe the bijection between LLRBs and $(2, | + | * Geometric Algorithms |
| - | * Hashing with chaining | + | * Convex Hull |
| - | * Hashing with open addressing (warning, I did this at the tutorial; if you don’t understand it, please read JeffE’s notes) | + | * Line Segment Intersections |
| - | * Universal hashing | + | * FFT: definitions, algorithm, how to multiply polynomials quickly |
| - | * Master theorem – analyzing the complexity | + | * Reductions |
| - | * Integer multiplication using Karatsuba’s algorithm | + | * Definitions |
| - | * MomSelect (finding the $k$-th smallest element in an array in linear time) | + | * P, NP, NP-complete, |
| - | * Edit Distance dynamic programming algorithm | + | |
| - | * Longest Increasing Subsequence dynamic programming algorithm | + | * Dealing with NP-hardness |
| - | * Lower bounds: searching in a sorted array is $\Omega(\log n)$, sorting is $\Omega(n \log n)$ (only applies to deterministic and comparison-based algorithms) | + | * IndSet on Trees |
| + | * Coloring of Interval Graphs | ||
| + | * Approximation algorithms | ||
| + | * $2$-approximation of $\Delta$-TSP | ||
| + | * Non-existence of an $O(1)$-approximation for (unrestricted) TSP | ||
| + | * Pseudopolynomial algorithm for Knapsack; FPTAS for Knapsack. | ||
| - | */ | ||
teaching/ads22223_lecture.1671647143.txt.gz · Poslední úprava: autor: Martin Koutecky
