Data Structures and Algorithms

Data Structures and Algorithms (40 hours)

Abstract data types, complexity analysis, Big Oh notation, Stacks (linked lists and array implementations), Recursion and analyzing recursive algorithms, divide and conquer algorithms, Sorting algorithms (selection, insertion, merge, quick, bubble, heap, shell, radix, bucket), queue, dequeuer, priority queues (linked and array implementations of queues), linked list & its various types, sorted linked list, searching an unsorted array, binary search for sorted arrays, hashing and indexing, open addressing and chaining, trees and tree traversals, binary search trees, heaps, M-way tress, balanced trees, graphs, breadth-first and depth-first traversal, topological order, shortest path, adjacency matrix and adjacency list implementations, memory management and garbage collection.



At the end of the course the students will be able to:

  • Implement various data structures and their algorithms, and apply them in implementing simple applications.
  • Analyze simple algorithms and  determine their complexities.         

Apply the knowledge of data structures to other application domains.