Popis předmětu - BE5B33ALG
| BE5B33ALG | Algorithms | ||
|---|---|---|---|
| Role: | PV, P | Rozsah výuky: | 2P+2C |
| Katedra: | 13133 | Jazyk výuky: | EN |
| Garanti: | Průša D. | Zakončení: | Z,ZK |
| Přednášející: | Pěnička R. | Kreditů: | 6 |
| Cvičící: | Pěnička R., Průša D., Zoula M. | Semestr: | Z |
Webová stránka:
https://cw.fel.cvut.cz/wiki/courses/BE5B33ALGAnotace:
In the course, the algorithms development is constructed with minimum dependency to programming language; nevertheless the lectures and seminars are based on Python. Basic data types a data structures, basic algorithms, recursive functions, abstract data types, stack, queues, trees, searching, sorting, special application algorithms. Students are able to design and construct non-trivial algorithms and to evaluate their affectivity.Cíle studia:
The course is concerned with the ability to implement effectively solutions of various problems arising in elementary computer science. Main topics of the course include sorting and searching algorithms and related data structures. The course stresses correct algorithms choice and effective implementation as an unique tool for successful problems solving.Osnovy přednášek:
| 1. | Order of growth of functions, asymptotic complexity of an algorithm | |
| 2. | Trees, binary trees, recursion | |
| 3. | More recursion and backtracking examples | |
| 4. | Graph, graph representation, basic graph processing | |
| 5. | Queue, stack, breadth/depth first search | |
| 6. | Array search, binary search tree | |
| 7. | AVL trees and B-trees | |
| 8. | Sorting, Insertion Sort, Selection Sort, Bubble Sort, Quick Sort | |
| 9. | Sorting, Merge Sort, Heap, Heap Sort, Radix Sort, Counting Sort | |
| 10. | Dynamic programming, tabulation, longest path in a DAG, optimal matrix multiplication | |
| 11. | Dynamic programming, longest common subsequence, optimal BST, knapsack problem | |
| 12. | Complexity of recursive algorithms, Master theorem | |
| 13. | Hashing, open and chained tables, double hashing, coalesced hashing | |
| 14. | Reserve |
Osnovy cvičení:
| 1. | Order of growth of functions, asymptotic complexity of an algorithm | |
| 2. | Trees, binary trees, recursion | |
| 3. | More recursion and backtracking examples | |
| 4. | Graph, graph representation, basic graph processing | |
| 5. | Queue, stack, breadth/depth first search | |
| 6. | Array search, binary search tree | |
| 7. | AVL trees and B-trees | |
| 8. | Sorting, Insertion Sort, Selection Sort, Bubble Sort, Quick Sort | |
| 9. | Sorting, Merge Sort, Heap, Heap Sort, Radix Sort, Counting Sort | |
| 10. | Dynamic programming, tabulation, longest path in a DAG, optimal matrix multiplication | |
| 11. | Dynamic programming, longest common subsequence, optimal BST, knapsack problem | |
| 12. | Complexity of recursive algorithms, Master theorem | |
| 13. | Hashing, open and chained tables, double hashing, coalesced hashing | |
| 14. | Reserve |
Literatura:
| [1] | Sedgewick, R: Algorithms (Fundamentals, Data structures, Sorting, |
| [2] | Weiss, M: Data structures and Algorithm Analysis in Java, Addison Wesley, 1999 | |
| [3] | Keogh, J: Data Structures Demystified, McGraw-Hill, 2004 | |
| [4] | Wróblevski, P: Algorytmy, Helion, 2003 |
Požadavky:
Programming 1Poznámka:
| Rozsah výuky v kombinované formě studia: 14p+6c |
Klíčová slova:
Asymptotic complexity, recursive algorithms, binary trees, searching, hashing, sorting, dynamic programming.Předmět je zahrnut do těchto studijních plánů:
| Plán | Obor | Role | Dop. semestr |
| BPEECS_2018 | Před zařazením do oboru | PV | 3 |
| BEECS | Před zařazením do oboru | P | 2 |
| Stránka vytvořena 15.3.2026 07:51:38, semestry: L/2025-6, Z,L/2027-8, Z/2025-6, Z,L/2026-7, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: I. Halaška (K336), J. Novák (K336) |