Module 04 · Graphs · Updated

Build the foundation for AI engineering.

Master Data Structures and Algorithms through interactive, color-coded visual models. Strip away the mathematical intimidation and build an intuitive understanding — from Python basics to advanced trees and graphs.

ABCDE

Core pathing concepts

Essential traversal mechanics, color-coded for visual parsing.

Data Structures and Algorithms

A graduate-level treatment of the design, implementation, and analysis of data structures and algorithms in Python — from asymptotic analysis and the core ADTs to balanced search trees, sorting, graphs, and external-memory B-trees. Based on Goodrich, Tamassia & Goldwasser, Data Structures and Algorithms in Python (Wiley, 2013).

Tentative schedule

15 modules
  1. 01Week 1 — Python Primer & Computational FoundationsOpen →
    • Python Primer: Objects, control flow, functions, exceptions, iterators/generators, comprehensions, scopes, and modules.
  2. 02Week 2 — Object-Oriented Programming & DesignOpen →
    • OO Design: OO design goals, special methods, operator overloading, inheritance, abstract base classes, name resolution, and deep copy.
  3. 03Week 3 — Algorithm AnalysisOpen →
    • Analysis: Seven core functions, asymptotic (Big-Oh / Omega / Theta) notation, justification techniques, and loop invariants.
  4. 04Week 4 — RecursionOpen →
    • Recursion: Linear, binary, and multiple recursion; analyzing recursive algorithms; tail-recursion elimination.
  5. 05Week 5 — Array-Based SequencesOpen →
    • Sequences: Low-level and referential arrays, dynamic arrays, amortized analysis, and multidimensional data.
  6. 06Week 6 — Stacks, Queues & DequesOpen →
    • Linear ADTs: Array-based stack/queue/deque implementations and applications: expression matching and schedulers.
  7. 07Week 7 — Linked ListsOpen →
    • Linked Lists: Singly, circularly, and doubly linked lists; positional list ADT; link- vs array-based trade-offs.
  8. 08Week 8 — TreesOpen →
    • Trees: General and binary trees, traversals (pre/in/post/BFS), Euler tours, and expression trees.
  9. 09Week 9 — Priority Queues & HeapsOpen →
    • Heaps: Heap data structure, bottom-up construction, heap-sort, and adaptable priority queues.
  10. 10Week 10 — Maps, Hash Tables & Skip ListsOpen →
    • Maps & Hashing: Hash functions, collision handling, rehashing, sorted maps, skip lists, sets/multisets.
  11. 11Week 11 — Search Trees IOpen →
    • BST & AVL: Binary search trees, the balanced-tree framework, AVL trees and rotations.
  12. 12Week 12 — Search Trees IIOpen →
    • Splay, (2,4), Red–Black: Splay trees, (2,4) multiway search trees, and red-black trees.
  13. 13Week 13 — Sorting & SelectionOpen →
    • Sorting & Selection: Merge-sort, quick-sort, the sorting lower bound, bucket/radix-sort, and randomized selection.
  14. 14Week 14 — Text Processing & Graph AlgorithmsOpen →
    • Text Processing: Pattern matching, tries, and dynamic-programming approaches to text problems.
    • Graph Algorithms: Graph ADTs, traversals (BFS/DFS), shortest paths, and minimum spanning trees.
  15. 15Week 15 — Memory Management & B-TreesOpen →
    • External Memory: The memory hierarchy, external-memory algorithms, B-trees, and course synthesis & review.
Academic Integrity

All submitted work must be entirely your own. Cheating earns a zero on the assignment plus a −10 penalty on the final grade. Sharing solutions — during or after the course — is not permitted.