Algorithms and Data Structures

course material


Lecture slides

No.

Themes

Slides

Practice
1.

 Data, data structures,abstract data types

2.
 Linear dynamic data structures: list
3.
 Linear dynamic data structures: stack, queue, deque
4.
 Binary trees, BST
5.
 AVL tree, Bayer tree, Heap
6.
 Algorithms, types, representation, evaluation
7.
 Asymptotic analysis of algorithms
 
8.
 Recursion
 
9.
 Sorting algorithms (insertion, selection, bubble)

 

10.
 Fast sorting algorithms (ShellSort, MergeSort, QuickSort)

 

11.
 Fast sorting algorithms (HeapSort, RadixSort)

 

12.
 External sorting, Sequential search

 

13.
 Jump search, Binary search, Interpolation search

 

14.
 Hashing
 



Projects

Students must prepare two projects during the semester. Program in C programming language must be developed for the each project. Programs must have good structure and consist of several functions. Programs must be tested on different problem size. Maximum 2 points can be granted for the each project. Project report must be prepared and defended. Reports must include program components diagram, at least two flowcharts of the different functions and program code printout. Settlement day of the projects is May 23 2018.

Project tasks for students
List of IIfu-17 and IIfuc-17 groups


Evaluation

It is mandatory to prepare and defend both projects. Students will be not allowed to take exam if the projects will be not finished in time.
The following formula will be used to calculate final grade of the subject:

Final grade = 0.2 x data structure project + 0.2 x sorting project + 0.6 x exam
 


Literature

  1. R.Čiegis. Duomenų struktūros, algoritmai ir jų analizė. Vilnius, Technika 2007.
  2. T.Cormen, etc. Introduction to Algorithms. MIT, 2009.
  3. W.Collins. Data structures and standart template library. McGraw Hill, 2003.
  4. K.Baniulis, B.Tamulynas. Duomenų struktūros. Kaunas, Technologija, 2003.
  5. A.Juozapavičius. Duomenų struktūros ir algoritmai. Vilnius, VU. 1997.
  6. Clifford A. Shaffer. A Practical Introduction to Data Structures and Algorithm Analysis. Virginia Tech Blacksburg, VA 24061, 2011.
  7. http://www.academictutorials.com/data-structure/
  8. http://cprogramminglanguage.net/