460-2001/06 – Algorithms I (ALG I)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | doc. Mgr. Jiří Dvorský, Ph.D. | Subject version guarantor | doc. Mgr. Jiří Dvorský, Ph.D. |
Study level | undergraduate or graduate | | |
| | Study language | English |
Year of introduction | 2019/2020 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
To introduce students to problem solving techniques using algorithms. Upon completion of the course, the student will be able to:
define and describe selected problem solving algortihmic techniques using,
demonstrate these techniques on sample problems
use these techniques to solve other problems,
work with combinations of several techniques together.
Teaching methods
Lectures
Tutorials
Summary
This course is one of the introductory programming courses. The course aims to introduce students to problem solving techniques, strategies, using algorithms. The algorithms and data structures discussed will be demonstrated in C++. Students are encouraged to analyze algorithmic problems and to synthesize solutions from smaller units.
Compulsory literature:
Recommended literature:
Additional study materials
Way of continuous check of knowledge in the course of semester
Conditions for granting credit
Implementation and presentation of the project.
Programming applications to simple exercises.
Attendance on exercises.
E-learning
Other requirements
Students are expected to have the basic C++ knowledge and high school math knowledge.
Prerequisities
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Algorithm. Algorithmic problem solving strategies. Important problem types.
Analysis of complexity of algorithms.
Brute force strategy. SelectSort. BubbleSort. Sequential search. Convex hull problem. Closest pair problem.
Complete search strategy. Traveling salesman problem. Knapsack problem. Graph traversal.
Decrease and conquer strategy. InsertSort. Generate permutations and subsets. Binary search algorithm. Finding the median. Interpolation search. Searching and insertion in a binary search tree.
Divide and conquer strategy. QuickSort. MergeSort. Convex hull problem. Closest pair problem.
Computer seminars
Iterative algorithms complexity analysis.
Recursive algorithms complexity analysis.
Implementation of convex hull problem, closest pair problem.
Traveling salesman problem - experiments with complete search solution.
Graph traversal algorithms usage.
Generate permutations and subsets.
Implementation of binary search algorithm, interpolation search algorithm and median finding.
Binary search tree implementation.
Implementation of divide and conquer strategy solutions.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction
Předmět neobsahuje žádné hodnocení.