teaching:ads12526_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:ads12526_lecture [2026/03/28 23:24] – test edit by claude automated task Claude Cowork | teaching:ads12526_lecture [2026/05/11 14:04] (aktuální) – Martin Koutecky | ||
|---|---|---|---|
| Řádek 16: | Řádek 16: | ||
| | 16. 3. | binary, $d$-ary, Fibonacci heaps for Dijkstra; general relaxation algorithm, start Bellman-Ford **[ALG 6.1-6.3]**, **[A, Chap 4]**.| | | 16. 3. | binary, $d$-ary, Fibonacci heaps for Dijkstra; general relaxation algorithm, start Bellman-Ford **[ALG 6.1-6.3]**, **[A, Chap 4]**.| | ||
| | 23. 3. | Bellman-Ford **[ALG 6.3]**, **[A 4]** //(Also see **[JE 8, 9]** but that's a lot more information than necessary.)// | | 23. 3. | Bellman-Ford **[ALG 6.3]**, **[A 4]** //(Also see **[JE 8, 9]** but that's a lot more information than necessary.)// | ||
| - | | 30. 3. | // | + | | 30. 3. | Kruskal' |
| + | | 6. 4. | //Easter Monday — no lecture.// | ||
| + | | 13. 4. | AVL trees: depth lower bound $\Omega(\log n)$ and upper bound $\mathcal{O}(\log n)$; FIND runs in $\mathcal{O}(\log n)$; INSERT and DELETE via rotations also run in $\mathcal{O}(\log n)$. **[ALG 8.2]** | | ||
| + | | 20. 4. | $(a, | ||
| + | | 27. 4. | Hashing with chaining **[ALG 11.3]**, open addressing (linear probing, double hashing) **[ALG 11.4]**, universal hashing **[ALG 11.5]**. Brief mention of amortized complexity and expanding arrays **[ALG 9.1]**.| | ||
| + | | 4. 5. | Divide and conquer: analysis of Mergesort via the substitution method and the recursion tree technique **[ALG 10.2]**, Karatsuba' | ||
| + | | 11. 5. | Finish Master theorem **[ALG 10.4]**. QuickSelect, | ||
| + | | 18. 5. | //Plan: dynamic programming: | ||
| /* | /* | ||
| - | | 2. 4. | //(test edit by claude)// | + | | 2. 4. | |
| | 9. 4. | Perfectly balanced trees (// | | 9. 4. | Perfectly balanced trees (// | ||
| | 16. 4. | $(a, | | 16. 4. | $(a, | ||
| Řádek 33: | Řádek 40: | ||
| {{page> | {{page> | ||
| - | /* | ||
| - | {{ : | ||
| - | ====== ADS1 Exam / 2024 ====== | + | /* {{ : |
| + | |||
| + | ====== ADS1 Exam / 2026 ====== | ||
| The exam will consist of: | The exam will consist of: | ||
| Řádek 66: | Řádek 73: | ||
| * Dijkstra' | * Dijkstra' | ||
| * Bellman-Ford' | * Bellman-Ford' | ||
| - | * Floyd-Warshall' | + | * Floyd-Warshall' |
| * Jarník' | * Jarník' | ||
| * Borůvka' | * Borůvka' | ||
| Řádek 73: | Řádek 80: | ||
| * AVL trees | * AVL trees | ||
| * $(a, | * $(a, | ||
| + | * Tries (FIND, INSERT, DELETE in $O(L)$ for a string of length $L$) | ||
| * Hashing with chaining (each bucket is a linked list) | * Hashing with chaining (each bucket is a linked list) | ||
| - | | + | * Hashing with open addressing: just know that it exists, with various schemes (collisions are handled by putting elements elsewhere in the same array, not by creating a chain) |
| + | | ||
| + | * Expanding arrays -- brief mention, be able to prove that inserting $n$ elements into an expanding array (start from size 1, if it would overflow $\to$ double size and re-insert) takes time $O(n)$. | ||
| * Master theorem -- analyzing the complexity of Divide & Conquer algorithms using the recursion tree | * Master theorem -- analyzing the complexity of Divide & Conquer algorithms using the recursion tree | ||
| * Integer multiplication using Karatsuba' | * Integer multiplication using Karatsuba' | ||
| - | * MomSelect | + | * LinearSelect |
| * QuickSelect with random pivots works in expected $\mathcal{O}(n)$ time, QuickSort with random pivots in expected $\mathcal{O}(n \log n)$ time. | * QuickSelect with random pivots works in expected $\mathcal{O}(n)$ time, QuickSort with random pivots in expected $\mathcal{O}(n \log n)$ time. | ||
| * Edit Distance dynamic programming algorithm | * Edit Distance dynamic programming algorithm | ||
| * Longest Increasing Subsequence dynamic programming algorithm | * Longest Increasing Subsequence dynamic programming algorithm | ||
| - | * 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) | ||
| - | */ | + | /* * 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) |
teaching/ads12526_lecture.1774740278.txt.gz · Poslední úprava: autor: Claude Cowork
