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