Graph Theory

  1. Special Types of Graphs
    1. Trees
      1. Rooted Trees
        1. Definition and properties of rooted trees
          1. Applications in data structures (e.g., binary trees, quad trees)
            1. Tree traversal methods
              1. Pre-order traversal
                1. In-order traversal
                  1. Post-order traversal
                    1. Level-order traversal
                    2. Conversion between general and rooted trees
                    3. Binary Trees
                      1. Characteristics of binary trees
                        1. Special types:
                          1. Full binary trees
                            1. Complete binary trees
                              1. Perfect binary trees
                                1. Balanced binary trees
                                2. Binary Search Trees (BST)
                                  1. Insertion and deletion operations
                                    1. Properties of BSTs
                                      1. Traversal and search operations
                                      2. Applications in databases and searching algorithms
                                      3. Spanning Trees
                                        1. Definition of spanning trees
                                          1. Relationship to connectivity
                                            1. Applications in network design and optimization
                                            2. Minimum Spanning Trees
                                              1. Concepts and properties
                                                1. Algorithms for finding MSTs
                                                  1. Kruskal's Algorithm
                                                    1. Description and step-by-step process
                                                      1. Edge selection and sorting
                                                        1. Use of disjoint set data structures
                                                        2. Prim's Algorithm
                                                          1. Description and step-by-step process
                                                            1. Priority queue optimization
                                                              1. Comparison with Kruskal's Algorithm
                                                        3. Bipartite Graphs
                                                          1. Definition and recognition
                                                            1. Properties of bipartite graphs
                                                              1. Applications in matching problems and network flows
                                                                1. Complete Bipartite Graphs
                                                                  1. Definition and representation
                                                                    1. K_{m,n} notation and examples
                                                                      1. Applications in scheduling and resource allocation
                                                                    2. Planar Graphs
                                                                      1. Definition and basic properties
                                                                        1. Testing planarity
                                                                          1. Planarity criteria and theorems
                                                                            1. Kuratowski's Theorem
                                                                              1. Understanding forbidden subgraphs
                                                                              2. Graph drawing techniques for planar graphs
                                                                              3. Euler's Formula
                                                                                1. Application and derivation
                                                                                  1. Use in proving properties of planar graphs
                                                                                  2. Applications in circuit design and geography
                                                                                  3. Complete Graphs
                                                                                    1. Definition and characteristics
                                                                                      1. Representation and notation (K_n)
                                                                                        1. Properties, including edge count formula and adjacency relations
                                                                                          1. Applications in network modeling
                                                                                          2. Regular Graphs
                                                                                            1. Definition and types (k-regular graphs)
                                                                                              1. Properties and examples
                                                                                                1. Applications in network topology and design
                                                                                                2. Directed Acyclic Graphs (DAGs)
                                                                                                  1. Definition and identification
                                                                                                    1. Topological sorting
                                                                                                      1. Algorithms for topological sorting
                                                                                                        1. Applications in scheduling and dependency resolution
                                                                                                        2. DAGs in computer science and project management
                                                                                                          1. Application in compiler construction (dependency graphs)
                                                                                                        3. Hypergraphs
                                                                                                          1. Introduction and basic concepts
                                                                                                            1. Difference between graphs and hypergraphs
                                                                                                              1. Hypergraph partitioning and duality
                                                                                                                1. Applications in database theory and combinatorial optimization