Algorithms and Data Structures

Back

Course informations

Study program level Undergraduate
Study program Computer Science
Study program direction Software Engineering
Course year 1.
Course semester I
Course status Core
ECTS 6
Lectures (h) 15
Excercises (h) 30
Seminars (h) -

Course objectives

The student must be shown the paradigm of data structure of complex data. He/she must understand phenomena and data from the real world and present them with complex structures- lists, graphs, and trees. He/she must know what indexation is, and how bisection functions.  Indicate the application of data structure in programming languages The student must be familiar with XML, JSON, and some other formatted data records that are used in programming technologies.

Course outcomes

Describe what an algorithm is, explain the algorithm record, analyze simpler algorithms, and define recursive algorithms. Formulate basic pseudocode algorithms, flowcharts. Compare existing algorithms, analyze more complex algorithms, and solve problems by using recursion. Describe and use simple data structures (list, stack, and row). Create solutions based on simpler data structures (list, stack, and row). Describe and use more complex data structures (tree, bulk, priority order). Create solutions based on more complex data structures (tree, bulk, priority order). Describe and use sorting algorithms. Design solutions based on sorting algorithms. Describe and use search algorithms. Construct solutions based on search algorithms. Define the techniques of addressing and recognize application of addressing techniques. Use addressing techniques to solve problems.

Course content

What is an algorithm? The complexity of an algorithm. Basic data types. Program control commands. Programming strategies. Data structures. Line, list, vector, set, stack, tree, priority row, graph, recursion. Arranged and unstructured containers. Search: sequential, binary, tree. Rows. Sort: bubble, heap, quick, binary, radix. Dynamic algorithms: Fibonacci sequence, binomial coefficients, optimal binary tree, multiplication of array matrices. Graphs: minimal tree, Dijkstra algorithm. The basics of the complexity of algorithms. Solving more difficult problems: "Travelling salesman problem", "Chinese postman problem". Game theory: simple solutions, alpha-beta algorithm.
Skip to content