[[https://intranet.fel.cvut.cz/en/education/rozvrhy-ng.B231/public/html/predmety/43/56/p4356206.html|FEE timetable]] [[https://intranet.fel.cvut.cz/en/education/rozvrhy-ng.B231/public/html/paralelky/P43/56/par4356206.1.html|ALG students]] [[https://cw.felk.cvut.cz/brute/|Upload system BRUTE]] ====== Lectures ====== ===== Lectures timetable ===== ^ Lecture^ Day ^ Topics ^ Slides ^ | **1.** | 29.9. | Order of growth of functions, asymptotic complexity |{{ :courses:be5b33alg:alge01.pdf | alg01a}} \\ {{:courses:be5b33alg:lesson01_2019.pdf | alg01b}} | | **2.** | 6.10. | Trees, binary trees, recursion | {{ :courses:be5b33alg:alg03_2011e_py.pdf | alg02 }} | | **3.** | 13.10. | More recursion and backtrack examples | {{ :courses:be5b33alg:recur_examples.py | recursion examples }}, {{ :courses:be5b33alg:packitems.py | backtrack examples }} {{ :courses:be5b33alg:coins.py |coin change}}, {{ :courses:be5b33alg:queenspuzzle.py | N queens}}, {{ :courses:be5b33alg:tiles.py | rectangle tiling}}| | **4.** | 20.10. | Graph, graph representation, basic graph processing | {{ :courses:be5b33alg:graphs_intro.pdf | graphs }} \\ {{ :courses:be5b33alg:graphviz_intro.pdf | Graphviz support}} \\ {{ :courses:be5b33alg:graphbasic.py | graph representation }}, {{ :courses:be5b33alg:graphweighted.py | weighted graphs }} | | **5.** | 27.10. | Queue, Stack, Breadth/Depth First Search | {{:courses:be5b33alg:alg04_2011exten_py.pdf| alg05_py}} \\ [[https://www.youtube.com/watch?v=NUgMa5coCoE|DFS animation]], [[https://www.youtube.com/watch?v=x-VTfcmrLEQ|BFS animation]] | | **6.** | 3.11. | Array search, Binary search tree | {{ :courses:be5b33alg:alg05_2011e_py.pdf | alg06_py}} | | **7.** | 10.11. | AVL and B- trees | {{:courses:be5b33alg:alg06_2011e.pdf|alg07 }} | | **8.** | 17.11. | //National holiday// | | | **9.** | 24.11. | Sorting algorithms I | {{ :courses:be5b33alg:alg07_2011e_py.pdf | alg08_py}} | | **10.** | 1.12. | Sorting algorithms II | {{:courses:be5b33alg:alg08_2011e_py.pdf| alg09a_py }}, {{:courses:be5b33alg:alg09_2011e_py.pdf| alg09b_py }} | | **11.** | 8.12. | Dynamic programming I | {{:courses:be5b33alg:alg10_2015_e_py.pdf| alg11a_py}} \\ {{:courses:be5b33alg:alg10_2015b_e_py.pdf| alg11b_py}} | | **12.** | 15.12. | Dynamic programming II | {{:courses:be5b33alg:alg10_2015d_e_py.pdf | alg12a_py}} \\ {{:courses:be5b33alg:alg10_2015c_e_py.pdf| alg12b_py}}| | **13.** | 22.12. | Complexity of recursive algorithms, Master theorem | {{ :courses:be5b33alg:alg02e.pdf | alg10}} | | **14.** | 12.1. | Hashing I & II | {{ :courses:be5b33alg:alg13e.pdf | alg13}} {{ :courses:be5b33alg:alg14e.pdf |alg14a}} {{ :courses:be5b33alg:alg13_2015b_e.pdf | alg14b}} | **Source code examples for particular lectures** 02 - {{ :courses:be5b33alg:rec.py | basic recursion }}, {{ :courses:be5b33alg:rec2.py | same examples, more insight }} 03 - {{:courses:be5b33alg:binarytree.py| binary tree, In-pre-Post order, recursion}}, {{ :courses:be5b33alg:binarytree2.py | alternative: binary tree in just 1D arrays}} ( {{ :courses:be5b33alg:alg03_2011e.ppt | slides ppt }} {{ :courses:be5b33alg:alg03_2011e_py.ppt | slides-python pptx}} ) 04/05 - DFS/BFS with and without nodes as objects {{:courses:be5b33alg:graph.py| graph.py, with objects}}, {{ :courses:be5b33alg:graph2.py |graph2.py, no objects }} 06 - {{:courses:be5b33alg:magicsquare.py| backtrack example - magic square}} 07, 08 - {{:courses:be5b33alg:sortsx2.py| Sorts - Insert, Select, Bubble, Quick, Merge, Heap, Radix, Counting}}