Subject: Algorithms and data structures
(17 -
SIT049) Basic Information
Native organizations units
Course specification
Course is active from 25.07.2017.. Teaching students about data structures in the operating memory and development of programs that use them. The aim of the course is to develop an algorithmic way of thinking. Students will master the basic algorithms used in the implementation of computer programs and the methods of analyzing their complexity, correctness and performance. In addition, students will learn the types and characteristics of the basic data structures, as well as how to use and implement mentioned principles. After successful completion of the course, students will know the concepts of abstract data types; how to handle linear data structures such as arrays, sets, maps, lists, stacks, queue; how to use basic concepts for analysing efficiency of algorithms; how to use procedures for searching and sorting data; how use recursion mechanism in software development process; will learn why and how to use hash tables and trees. Abstract data types: concept of abstract data type; Defining new types. Arrays: basics of arrays; Operations over arrays; Analysis of the efficiency of operations over arrays; concept of matrix; Operations over matrices. Sets and maps: concept of a set; Implementation of the set; Concept of the map; Map implementation; Multidimensional arrays and operations over them. Analysis of algorithms: O-notation; Analysis of the concept Python list. Search and sorting: linear and binary search; Sorting algorithms; Operations over sorted arrays. List, Stack and Queue: Single-Linked Lists: Basics, Operations, Application and Implementation ; Double-linked Lists; Stack - concept and operations; Queue - concept and operations; Implementation of stack and queue; Multi-linked lists. Recursion. Concept and characteristics of recursion; Recursion implementation; Application of recursion. Hash table: the concept of a hash function; Hash table - concept and operations; Application of hashing. Trees: binary trees - concept and operations; N-ary tree trees; Search tree. Lectures; Computer exercises; Consultations. The exam is oral. The final evaluation of the exam is based on the result from the computer laboratory exercises and the oral exam.
|