Portable learning
coursePublished source available

What learners can expect

  1. Derive time/space costs from code, recurrences, operation models, case distinctions, and amortized reasoning.
  2. Implement and choose arrays, linked structures, stacks/queues/deques, hash tables, search trees, heaps, and priority queues from workload needs.
  3. Trace and analyse comparison sorting, merge/quicksort, heap sort, lower bounds, and partial selection.
  4. Represent graphs and implement/trace BFS, DFS, connectivity, topological sorting, shortest paths, and minimum spanning trees.
  5. Choose and justify divide-and-conquer, greedy, and dynamic-programming approaches from problem structure.
  6. Prove core algorithms/data-structure operations with invariants, exchange/cut arguments, and explicit preconditions.
  7. Separate asymptotic guarantees from constants/measurements and benchmark deterministic pathological inputs responsibly.
  8. Build and defend a tested dependency/network analysis tool with algorithms, proofs, complexity analysis, and benchmarks.

Version history

  1. 0.2.0course · MCF 1.1 · 408.1 KiB

0 stars · 0 forks

This repository is an original publication.

No public direct forks yet.