Algorithm Design and Analysis

  1. Advanced Topics in Algorithm Design
    1. Approximation Algorithms
      1. Introduction to Approximation
        1. Performance Ratios
          1. Absolute vs Relative Approximation
            1. PTAS and FPTAS
              1. Designing Approximation Algorithms
                1. Greedy Approaches
                  1. Linear Programming Relaxation
                    1. Rounding Techniques
                      1. Primal-Dual Method
                      2. Examples
                        1. Vertex Cover Approximation
                          1. Set Cover Approximation
                            1. TSP Approximation
                              1. Bin Packing Approximation
                              2. Inapproximability Results
                              3. Randomized Algorithms
                                1. Introduction to Randomization
                                  1. Sources of Randomness
                                    1. Las Vegas Algorithms
                                      1. Expected Running Time
                                      2. Monte Carlo Algorithms
                                        1. Error Probability
                                        2. Randomized Quick Sort
                                          1. Random Pivot Selection
                                            1. Expected Time Analysis
                                            2. Randomized Min-Cut
                                              1. Skip Lists
                                                1. Bloom Filters
                                                  1. Probabilistic Analysis Techniques
                                                  2. Online Algorithms
                                                    1. Online vs Offline Problems
                                                      1. Competitive Analysis
                                                        1. Competitive Ratio
                                                          1. Examples
                                                            1. Online Paging
                                                              1. Online Load Balancing
                                                                1. Online Matching
                                                              2. Parallel Algorithms
                                                                1. Models of Parallel Computation
                                                                  1. PRAM Model
                                                                    1. EREW PRAM
                                                                      1. CREW PRAM
                                                                        1. CRCW PRAM
                                                                        2. Parallel Complexity Measures
                                                                          1. Work and Span
                                                                            1. Speedup and Efficiency
                                                                            2. Basic Parallel Algorithms
                                                                              1. Parallel Prefix Sum
                                                                                1. Parallel Sorting
                                                                                  1. Parallel Matrix Multiplication
                                                                                  2. Parallel Graph Algorithms
                                                                                  3. Geometric Algorithms
                                                                                    1. Computational Geometry Basics
                                                                                      1. Convex Hull
                                                                                        1. Graham Scan
                                                                                          1. Jarvis March
                                                                                            1. Divide and Conquer Approach
                                                                                              1. Analysis and Comparison
                                                                                              2. Line Segment Intersection
                                                                                                1. Sweep Line Algorithm
                                                                                                  1. Bentley-Ottmann Algorithm
                                                                                                  2. Closest Pair of Points
                                                                                                    1. Divide and Conquer Solution
                                                                                                      1. Analysis
                                                                                                      2. Voronoi Diagrams
                                                                                                        1. Delaunay Triangulation
                                                                                                          1. Range Searching
                                                                                                          2. Network Flow Extensions
                                                                                                            1. Minimum Cost Flow
                                                                                                              1. Multi-Commodity Flow
                                                                                                                1. Circulation Problems
                                                                                                                  1. Matching in General Graphs
                                                                                                                    1. Edmonds' Blossom Algorithm