Data Structures

  1. Hierarchical Data Structures
    1. Trees
      1. Basic Terminology
        1. Root Node
          1. Internal Nodes
            1. Parent Node
              1. Child Node
                1. Sibling Nodes
                  1. Edge
                    1. Leaf Node
                      1. Height and Depth
                        1. Subtree
                          1. Degree of Node
                          2. Tree Properties
                            1. Ordered Trees
                              1. Unordered Trees
                                1. Binary Trees
                                  1. Multi-way Trees
                                  2. Tree Traversal Algorithms
                                    1. Depth-First Traversals
                                      1. Pre-order Traversal
                                        1. In-order Traversal
                                          1. Post-order Traversal
                                          2. Breadth-First Traversal
                                            1. Level-order Traversal
                                              1. Queue-based Implementation
                                          3. Binary Trees
                                            1. Definition and Properties
                                              1. Maximum Number of Nodes
                                                1. Minimum Height
                                                2. Types of Binary Trees
                                                  1. Full Binary Tree
                                                    1. Complete Binary Tree
                                                      1. Perfect Binary Tree
                                                        1. Skewed Binary Tree
                                                          1. Left-skewed Binary Tree
                                                            1. Right-skewed Binary Tree
                                                        2. Binary Search Trees
                                                          1. Definition and BST Property
                                                            1. BST Invariant
                                                            2. Core Operations
                                                              1. Search Operation
                                                                1. Insertion Operation
                                                                  1. Deletion Operation
                                                                    1. Deleting Leaf Node
                                                                      1. Deleting Node with One Child
                                                                        1. Deleting Node with Two Children
                                                                        2. Finding Minimum
                                                                          1. Finding Maximum
                                                                            1. Successor Finding
                                                                              1. Predecessor Finding
                                                                              2. Complexity Analysis
                                                                                1. Best Case Performance
                                                                                  1. Average Case Performance
                                                                                    1. Worst Case Performance
                                                                                    2. Balanced vs Unbalanced Trees
                                                                                      1. Impact on Performance
                                                                                    3. Self-Balancing Binary Search Trees
                                                                                      1. Need for Balancing
                                                                                        1. Degeneration to Linked List
                                                                                        2. Tree Rotations
                                                                                          1. Left Rotation
                                                                                            1. Right Rotation
                                                                                              1. Single Rotations
                                                                                                1. Double Rotations
                                                                                                2. AVL Trees
                                                                                                  1. Balance Factor
                                                                                                    1. Insertion and Rebalancing
                                                                                                      1. Deletion and Rebalancing
                                                                                                      2. Red-Black Trees
                                                                                                        1. Node Coloring Rules
                                                                                                          1. Root Properties
                                                                                                            1. Leaf Properties
                                                                                                              1. Red Node Rules
                                                                                                                1. Black Node Rules
                                                                                                                  1. Insertion Operations
                                                                                                                    1. Deletion Operations
                                                                                                                      1. Fixing Violations
                                                                                                                    2. Heaps
                                                                                                                      1. Heap Property
                                                                                                                        1. Min-Heap Property
                                                                                                                          1. Max-Heap Property
                                                                                                                          2. Array-based Representation
                                                                                                                            1. Parent Index Calculation
                                                                                                                              1. Child Index Calculation
                                                                                                                              2. Core Operations
                                                                                                                                1. Insertion Operation
                                                                                                                                  1. Sift-up Process
                                                                                                                                    1. Deletion Operation
                                                                                                                                      1. Sift-down Process
                                                                                                                                        1. Heapify Operation
                                                                                                                                          1. Peek Operation
                                                                                                                                          2. Applications
                                                                                                                                            1. Priority Queues
                                                                                                                                              1. Heapsort Algorithm
                                                                                                                                                1. Scheduling Algorithms
                                                                                                                                              2. Multi-way Trees
                                                                                                                                                1. B-Trees
                                                                                                                                                  1. Structure and Properties
                                                                                                                                                    1. Order of B-Tree
                                                                                                                                                      1. Node Splitting
                                                                                                                                                        1. Node Merging
                                                                                                                                                          1. Insertion Operations
                                                                                                                                                            1. Deletion Operations
                                                                                                                                                              1. Database Applications
                                                                                                                                                                1. File System Applications
                                                                                                                                                                2. B+ Trees
                                                                                                                                                                  1. Structure and Properties
                                                                                                                                                                    1. Leaf Node Linking
                                                                                                                                                                      1. B-Trees vs B+ Trees Comparison
                                                                                                                                                                        1. Range Query Support