Algorithms

  1. Advanced Algorithm Topics
    1. String Algorithms
      1. String Matching Fundamentals
        1. Pattern and Text
          1. Exact vs Approximate Matching
            1. Performance Metrics
            2. Naive String Matching
              1. Algorithm Description
                1. Implementation
                  1. Time Complexity Analysis
                    1. Best Case
                      1. Worst Case
                        1. Average Case
                        2. Space Complexity
                        3. Rabin-Karp Algorithm
                          1. Hashing-Based Approach
                            1. Rolling Hash Technique
                              1. Hash Function Design
                                1. Efficient Hash Updates
                                2. Implementation
                                  1. Time Complexity Analysis
                                    1. Space Complexity
                                      1. Collision Handling
                                        1. Spurious Matches
                                          1. Verification Step
                                          2. Applications
                                            1. Multiple Pattern Matching
                                              1. 2D Pattern Matching
                                            2. Knuth-Morris-Pratt Algorithm
                                              1. Failure Function
                                                1. Computation Algorithm
                                                2. KMP Algorithm Description
                                                  1. Implementation
                                                    1. Time Complexity Analysis
                                                      1. Space Complexity
                                                        1. Correctness Proof
                                                        2. Boyer-Moore Algorithm
                                                          1. Bad Character Rule
                                                            1. Good Suffix Rule
                                                              1. Implementation
                                                                1. Time Complexity Analysis
                                                                  1. Practical Performance
                                                                  2. String Matching with Finite Automata
                                                                    1. Automaton Construction
                                                                      1. Pattern Recognition
                                                                        1. Implementation
                                                                        2. Advanced String Algorithms
                                                                          1. Suffix Arrays
                                                                            1. Construction Algorithms
                                                                            2. Suffix Trees
                                                                              1. Construction
                                                                              2. Z-Algorithm
                                                                                1. Manacher's Algorithm
                                                                              3. Computational Geometry
                                                                                1. Geometric Primitives
                                                                                  1. Points
                                                                                    1. Lines
                                                                                      1. Line Segments
                                                                                        1. Polygons
                                                                                          1. Circles
                                                                                          2. Fundamental Operations
                                                                                            1. Orientation Test
                                                                                              1. Point-in-Polygon Test
                                                                                                1. Line Intersection
                                                                                                  1. Distance Calculations
                                                                                                  2. Convex Hull Algorithms
                                                                                                    1. Convex Hull Definition
                                                                                                      1. Graham Scan
                                                                                                        1. Algorithm Description
                                                                                                          1. Polar Angle Sorting
                                                                                                            1. Implementation
                                                                                                              1. Time Complexity
                                                                                                              2. Jarvis March
                                                                                                                1. Algorithm Description
                                                                                                                  1. Gift Wrapping Approach
                                                                                                                    1. Implementation
                                                                                                                      1. Time Complexity
                                                                                                                      2. QuickHull Algorithm
                                                                                                                        1. Divide-and-Conquer Approach
                                                                                                                        2. Line Segment Intersection
                                                                                                                          1. Problem Definition
                                                                                                                            1. Brute-Force Approach
                                                                                                                              1. Algorithm Description
                                                                                                                                1. Time Complexity
                                                                                                                                2. Sweep Line Algorithm
                                                                                                                                  1. Event Point Scheduling
                                                                                                                                    1. Status Structure
                                                                                                                                      1. Implementation
                                                                                                                                        1. Time Complexity
                                                                                                                                      2. Closest Pair of Points
                                                                                                                                        1. Problem Definition
                                                                                                                                          1. Brute-Force Approach
                                                                                                                                            1. Algorithm Description
                                                                                                                                              1. Time Complexity
                                                                                                                                              2. Divide-and-Conquer Approach
                                                                                                                                                1. Algorithm Description
                                                                                                                                                  1. Merge Step
                                                                                                                                                    1. Implementation
                                                                                                                                                      1. Time Complexity Analysis
                                                                                                                                                    2. Geometric Data Structures
                                                                                                                                                      1. Range Trees
                                                                                                                                                        1. Segment Trees for Geometry
                                                                                                                                                          1. kd-Trees
                                                                                                                                                            1. Quadtrees
                                                                                                                                                            2. Applications
                                                                                                                                                              1. Computer Graphics
                                                                                                                                                                1. Geographic Information Systems
                                                                                                                                                                  1. Robotics
                                                                                                                                                                    1. Computer-Aided Design
                                                                                                                                                                  2. Randomized Algorithms
                                                                                                                                                                    1. Randomization in Algorithms
                                                                                                                                                                      1. Sources of Randomness
                                                                                                                                                                        1. Pseudorandom Number Generation
                                                                                                                                                                          1. Random Sampling
                                                                                                                                                                          2. Algorithm Classifications
                                                                                                                                                                            1. Las Vegas Algorithms
                                                                                                                                                                              1. Always Correct Results
                                                                                                                                                                                1. Random Running Time
                                                                                                                                                                                  1. Examples
                                                                                                                                                                                    1. Randomized QuickSort
                                                                                                                                                                                      1. Skip Lists
                                                                                                                                                                                      2. Expected Running Time Analysis
                                                                                                                                                                                      3. Monte Carlo Algorithms
                                                                                                                                                                                        1. Fixed Running Time
                                                                                                                                                                                          1. Probabilistic Correctness
                                                                                                                                                                                            1. Error Probability
                                                                                                                                                                                              1. Examples
                                                                                                                                                                                                1. Primality Testing
                                                                                                                                                                                                  1. Polynomial Identity Testing
                                                                                                                                                                                                  2. Error Reduction Techniques
                                                                                                                                                                                                2. Randomization Techniques
                                                                                                                                                                                                  1. Random Sampling
                                                                                                                                                                                                    1. Uniform Sampling
                                                                                                                                                                                                      1. Reservoir Sampling
                                                                                                                                                                                                        1. Importance Sampling
                                                                                                                                                                                                        2. Randomized Partitioning
                                                                                                                                                                                                          1. Random Pivot Selection
                                                                                                                                                                                                            1. Applications in Sorting
                                                                                                                                                                                                            2. Random Permutations
                                                                                                                                                                                                              1. Fisher-Yates Shuffle
                                                                                                                                                                                                            3. Probabilistic Analysis
                                                                                                                                                                                                              1. Expected Value Calculations
                                                                                                                                                                                                                1. Concentration Inequalities
                                                                                                                                                                                                                  1. Markov's Inequality
                                                                                                                                                                                                                    1. Chebyshev's Inequality
                                                                                                                                                                                                                      1. Chernoff Bounds
                                                                                                                                                                                                                      2. Union Bound
                                                                                                                                                                                                                        1. Linearity of Expectation
                                                                                                                                                                                                                        2. Advanced Topics
                                                                                                                                                                                                                          1. Randomized Data Structures
                                                                                                                                                                                                                            1. Skip Lists
                                                                                                                                                                                                                              1. Bloom Filters
                                                                                                                                                                                                                                1. Hash Tables with Universal Hashing
                                                                                                                                                                                                                                2. Derandomization Techniques
                                                                                                                                                                                                                                  1. Method of Conditional Expectations
                                                                                                                                                                                                                                    1. Pessimistic Estimators
                                                                                                                                                                                                                                  2. Applications
                                                                                                                                                                                                                                    1. Cryptography
                                                                                                                                                                                                                                      1. Machine Learning
                                                                                                                                                                                                                                        1. Distributed Systems
                                                                                                                                                                                                                                          1. Game Theory
                                                                                                                                                                                                                                        2. Approximation Algorithms
                                                                                                                                                                                                                                          1. Approximation Concepts
                                                                                                                                                                                                                                            1. Optimization Problems
                                                                                                                                                                                                                                              1. Minimization Problems
                                                                                                                                                                                                                                                1. Maximization Problems
                                                                                                                                                                                                                                                2. Approximation Ratio
                                                                                                                                                                                                                                                  1. Performance Guarantee
                                                                                                                                                                                                                                                  2. Approximation Schemes
                                                                                                                                                                                                                                                    1. PTAS
                                                                                                                                                                                                                                                      1. FPTAS
                                                                                                                                                                                                                                                    2. Design Techniques
                                                                                                                                                                                                                                                      1. Greedy Approximation
                                                                                                                                                                                                                                                        1. Linear Programming Relaxation
                                                                                                                                                                                                                                                          1. Primal-Dual Method
                                                                                                                                                                                                                                                          2. Classic Approximation Problems
                                                                                                                                                                                                                                                            1. Vertex Cover Problem
                                                                                                                                                                                                                                                              1. Problem Definition
                                                                                                                                                                                                                                                                1. 2-Approximation Algorithm
                                                                                                                                                                                                                                                                  1. Performance Analysis
                                                                                                                                                                                                                                                                    1. Lower Bounds
                                                                                                                                                                                                                                                                    2. Set Cover Problem
                                                                                                                                                                                                                                                                      1. Problem Definition
                                                                                                                                                                                                                                                                        1. Greedy Algorithm
                                                                                                                                                                                                                                                                          1. Logarithmic Approximation
                                                                                                                                                                                                                                                                            1. Inapproximability Results
                                                                                                                                                                                                                                                                            2. Traveling Salesperson Problem
                                                                                                                                                                                                                                                                              1. General TSP
                                                                                                                                                                                                                                                                                1. Metric TSP
                                                                                                                                                                                                                                                                                  1. 2-Approximation Algorithm
                                                                                                                                                                                                                                                                                    1. Christofides Algorithm
                                                                                                                                                                                                                                                                                    2. Performance Bounds
                                                                                                                                                                                                                                                                                      1. Inapproximability Results
                                                                                                                                                                                                                                                                                      2. Bin Packing Problem
                                                                                                                                                                                                                                                                                        1. Problem Definition
                                                                                                                                                                                                                                                                                          1. First Fit Algorithm
                                                                                                                                                                                                                                                                                            1. Best Fit Algorithm
                                                                                                                                                                                                                                                                                              1. First Fit Decreasing
                                                                                                                                                                                                                                                                                                1. Performance Analysis
                                                                                                                                                                                                                                                                                                2. Knapsack Problem
                                                                                                                                                                                                                                                                                                  1. Fractional Knapsack
                                                                                                                                                                                                                                                                                                    1. 0/1 Knapsack Approximation
                                                                                                                                                                                                                                                                                                      1. FPTAS for Knapsack
                                                                                                                                                                                                                                                                                                    2. Inapproximability Theory
                                                                                                                                                                                                                                                                                                      1. PCP Theorem
                                                                                                                                                                                                                                                                                                        1. Hardness of Approximation
                                                                                                                                                                                                                                                                                                          1. Gap-Preserving Reductions
                                                                                                                                                                                                                                                                                                          2. Applications
                                                                                                                                                                                                                                                                                                            1. Network Design
                                                                                                                                                                                                                                                                                                              1. Scheduling
                                                                                                                                                                                                                                                                                                                1. Resource Allocation
                                                                                                                                                                                                                                                                                                                  1. Machine Learning