Skip to content

Data Structure and Algorithms syllabus

IT 23810 units · 38 topicsAcademic year 2083/84
Browse the units

Data Structure and Algorithms

10 units

1. Introduction to data structure and algorithms (4 LHs)

  1. Data types, data structures and ADTs
  2. Algorithm and computational complexity
  3. Big-O, Big-Omega and Big-Theta
  4. Best-, average- and worst-case analysis

2. Linked Lists (7 LHs)

  1. List ADT and array implementation
  2. Singly, doubly and circular lists
  3. Node creation, insertion and deletion
  4. Skip lists; Java LinkedList and ArrayList

3. Stack (4 LHs)

  1. Stack ADT and array/linked implementations
  2. Infix-to-postfix/prefix conversion and evaluation
  3. Java stack utilities

4. Queues (4 LHs)

  1. Queue ADT and primitive operations
  2. Array and linked implementations
  3. Circular and priority queues; applications

5. Recursion (2 LHs)

  1. Direct, indirect, tail and nested recursion
  2. Factorial, Fibonacci, GCD and Tower of Hanoi
  3. Recursion versus iteration

6. Trees (9 LHs)

  1. Tree ADT and binary-tree types
  2. Traversals and binary search tree operations
  3. AVL and expression trees
  4. Heaps, Huffman algorithm and self-adjusting trees
  5. B-trees

7. Graphs (7 LHs)

  1. Graph ADT, representation and traversals
  2. Greedy algorithms and Dijkstra shortest paths
  3. Floyd-Warshall all-pairs shortest paths
  4. Minimum spanning trees: Kruskal and Prim
  5. Topological sorting

8. Sorting (6 LHs)

  1. Internal and external sorting
  2. Bubble, insertion, selection and heap sorts
  3. Quicksort, mergesort and radix sort
  4. Sorting efficiency and Java utilities

9. Searching and Hashing (5 LHs)

  1. Linear and binary search
  2. Hash functions: division, folding, mid-square and extraction
  3. Collision resolution and Java hashing

10. Laboratory Works

  1. Java list, stack and queue implementations
  2. Recursion and binary search trees
  3. Graph representation, spanning trees and shortest paths
  4. Sorting, searching and hashing algorithms