Data Structures & Algorithms

Course Overview

This course covered fundamental data structures & algorithms and their implementations. Key areas included:

Basic Data Structures

  • Arrays and dynamic arrays
  • Linked lists (singly and doubly linked)
  • Stacks and queues
  • Hash tables and collision resolution

Trees and Graphs

  • Binary trees and binary search trees
  • AVL and Red-Black trees
  • Heaps and priority queues
  • Graph representations and traversals
  • Minimum spanning trees

Analysis and Implementation

  • Time and space complexity analysis
  • Implementation tradeoffs
  • Memory management considerations
  • Iterator patterns and implementations

Algorithm Analysis

  • Big O notation
  • Asymptotic analysis
  • Recurrence relations

Sorting and Searching

  • Comparison-based sorting algorithms
  • Linear sorting algorithms
  • Binary search and variants
  • Selection algorithms

Algorithm Design Paradigms

  • Divide and conquer
  • Dynamic programming
  • Greedy algorithms
  • Backtracking