|
- [Introduction]
- [Lists, Trees], a theorem, algebra on algorithms
- [Logic], program proof, verification
- [Simple sorts] as examples for reasoning about algorithms
- [Heap sort], priority queues
- [More Fast Sorts], merge sort, quick sort, recursion, divide and conquer
- [Edit Distance], dynamic programming (1)
- [Hirschberg's algorithm] for edit distance, divide and conquer, space-time trade-off
- [Lookup Tables]
- [ALV Trees], height balance
- [Tries]
- [2-3-, 2-3-4-, B-trees]
- [String algorithms], search
- [Graphs], vertices, edges, (un)weighted, (un)directed, dence, sparse
- [Paths in graphs], shortest, existence of, dynamic programming (2)
- [Minimum spanning trees], Prim, dynamic programming (3)
- [Minimum spanning trees], Kruskal, union find
- [Directed Acyclic Graphs (DAGs)], traversal, topological sort, critical path analysis
- [Suffix Trees]
- [Numerical Computing], (in)accuracy
- [Recursion], linear, binary, n-ary
- [Design Principles], strategies, alternative representations, complexity, empirical
|
|