Subject: Design of Algorithms
(17 -
RT43N) Basic Information
Native organizations units
Course specification
Course is active from 19.07.2017.. Precondition courses
Teaching students to design and analyze the basic algorithms and data structures. After taking this subject students should be able to: calculate the complexity of the given algorithmic solution to a problem, design an algorithmic solution to the given problem and apply the basic algorithms and data structures when solving the given computational problem. Introduction to design and analysis of algorithms. Complexity of functions. Asymptotic notation. Recursion and Master Theorem. Sorting algorithms (Insertion Sort, Merge Sort, Heapsort, Quicksort and linear-time sorting). Basic data structures (stack, queue, list, tree, hash tables). Numerical algorithms of calculus. Examples of number-theoretic algorithms and cryptography. Graph algorithms (graph searching, topological sort, connected components, minimum spanning tree, shortest path problem). Dynamic programming. Greedy algorithms. String algorithms (Least Common Subsequence). Selected topics of the theory of computation (NP completeness). Problem solving. Lectures. Computer laboratory exercises. Tutorials for tests and exams. Office hours. Optional challenging problem solving.
|