Below is an index of articles grouped by topic. Click a heading to jump to the section.
Data Structures
- Design Patterns: A Practical Guide for Software Engineers
- A comprehensive guide to essential design patterns in software engineering, including creational, structural, and behavioral patterns with practical examples.
- System Design Fundamentals: Building Scalable Architectures
- A comprehensive guide to system design fundamentals, covering scalability, load balancing, caching, databases, and microservices patterns for building robust distributed systems.
- Trie Data Structure: Complete Guide
- Master Trie data structure with implementation in Python, Java, and C++. Learn prefix-based searching, autocomplete systems, and practical applications. Includes time complexity analysis and coding examples.
data-structures
- Arrays and Strings: Fundamentals
- A comprehensive guide to arrays and strings - understand memory layout, operations, and common algorithms for technical interviews
- Binary Search Trees and Balanced Trees: Complete Guide
- Master binary search trees, AVL trees, and Red-Black trees. Learn implementations, operations, time complexities, and when to use each type.
- Dynamic Programming Fundamentals
- A comprehensive guide to dynamic programming - understand memoization, tabulation, and classic DP problems with implementations
- Graphs and Graph Algorithms: Complete Guide
- Master graph data structures and algorithms including representations, traversal, shortest paths, and common interview patterns.
- Greedy Algorithms: Principles and Practice
- A comprehensive guide to greedy algorithms - understand when to use them, classic problems, and how they differ from dynamic programming
- Heaps and Priority Queues: Complete Guide
- Master heap data structure, priority queues, and their applications. Learn implementations, heap sort, and real-world use cases.
- Linked Lists: Implementation and Practical Use Cases
- A comprehensive guide to linked lists - understand singly, doubly, and circular linked lists with implementations and real-world use cases
- Sorting Algorithms: Comparison-based and Linear
- A comprehensive guide to sorting algorithms - understand bubble sort, quicksort, mergesort, and linear-time sorting algorithms with implementations
- Tries and Hash Tables: Complete Guide
- Master tries (prefix trees) and hash tables. Learn implementations, collision handling, and when to use each data structure.
Data-Structures
- B-Trees and B+Trees: The Backbone of Databases
- Understanding B-Trees and B+Trees, the essential data structures that power modern databases and file systems.
- Bloom Filters: Probabilistic Data Structures
- Discover Bloom filters, space-efficient probabilistic data structures for membership testing with fascinating trade-offs.
- Graph Algorithms: Traversals, Shortest Paths, and Applications
- Master graph algorithms including BFS, DFS, Dijkstra, and their applications in real-world problems.
- Hash Tables: The Workhorse of Computer Science
- Master hash tables, one of the most important and widely used data structures in programming.
- Red-Black Trees: Self-Balancing Binary Search Trees
- Understanding red-black trees, one of the most practical self-balancing search trees.
- Segment Trees and Fenwick Trees: Range Query Masters
- Master segment trees and Fenwick trees for efficient range queries and point updates in arrays.
- Skip Lists: Simplicity Meets Efficiency
- Discover skip lists, a probabilistic data structure that provides fast search, insert, and delete operations with simpler implementation than balanced trees.
- Stacks and Queues: Fundamental Abstract Data Types
- Master stacks and queues, the essential linear data structures that power algorithms and real-world applications.
- String Matching Algorithms: KMP, Rabin-Karp, and Beyond
- Master efficient string matching algorithms for searching patterns in text, from basic approaches to advanced techniques.
- Trees Fundamentals: Hierarchical Data Structures
- Understanding tree data structures, their types, and why they matter in computer science.
- Union-Find: Solving Connectivity Problems Efficiently
- Learn about Disjoint Set Union (Union-Find), a powerful data structure for solving connectivity and grouping problems.
Programming
- Data Structure Visualization Resources
- A comprehensive guide to interactive data structure visualization tools - helping you understand algorithms through visual exploration.
If you find missing articles or inaccurate groupings, run ./scripts/update_index.py with appropriate flags.
Comments