Discrete Mathematics

  1. Algorithms and Complexity
    1. Algorithm Fundamentals
      1. Algorithm Definition
        1. Properties of Algorithms
          1. Algorithm vs Program
            1. Correctness and Termination
            2. Algorithm Representation
              1. Pseudocode
                1. Flowcharts
                  1. Natural Language Description
                  2. Algorithm Design Strategies
                    1. Brute Force
                      1. Divide and Conquer
                        1. Greedy Algorithms
                          1. Dynamic Programming
                        2. Asymptotic Analysis
                          1. Growth of Functions
                            1. Rate of Growth
                              1. Comparing Functions
                                1. Asymptotic Relationships
                                2. Big-O Notation
                                  1. Definition and Properties
                                    1. Common Growth Rates
                                      1. Rules for Big-O
                                      2. Omega and Theta Notation
                                        1. Lower Bounds
                                          1. Tight Bounds
                                            1. Relationships Between Notations
                                            2. Analyzing Algorithms
                                              1. Time Complexity Analysis
                                                1. Space Complexity Analysis
                                                  1. Best, Average, and Worst Case
                                                2. Fundamental Algorithms
                                                  1. Searching Algorithms
                                                  2. Sorting Algorithms
                                                    1. Bubble Sort
                                                      1. Selection Sort
                                                        1. Insertion Sort
                                                          1. Merge Sort
                                                            1. Quick Sort
                                                              1. Heap Sort
                                                                1. Comparison of Sorting Algorithms
                                                                2. String Algorithms
                                                                  1. Pattern Matching
                                                                    1. String Searching
                                                                      1. Basic String Operations
                                                                    2. Advanced Algorithm Topics
                                                                      1. Recursive Algorithms
                                                                        1. Recursion Principles
                                                                          1. Recurrence Relations
                                                                            1. Master Theorem
                                                                            2. Graph Algorithms
                                                                              1. Graph Traversal Complexity
                                                                                1. Shortest Path Complexity
                                                                                  1. Minimum Spanning Tree Complexity
                                                                                  2. Computational Complexity Classes
                                                                                    1. P and NP Classes
                                                                                      1. NP-Complete Problems
                                                                                        1. Polynomial Reductions