Skip to main content

26 docs tagged with "fundamentals"

View all tags

Array Fundamentals

Master essential array operations including traversal, manipulation, rotation, reversal, and subarray problems critical for efficient algorithms.

Arrays & Strings

Master the most fundamental data structures: arrays and strings. Learn essential techniques like two pointers, sliding window, and string manipulation.

Basic Data Structures

Learn fundamental data structures including arrays, linked lists, stacks, queues, and hash tables that form the foundation of algorithmic problem-solving.

Basic Programming Concepts

Master foundational programming concepts including variables, control flow, functions, recursion, and iteration essential for algorithm development.

Binary Search Fundamentals

Master binary search with standard templates, left/right bounds, and off-by-one handling for logarithmic search problems.

CAP & PACELC Theorems

Understand the fundamental trade-offs: Consistency, Availability, Partition tolerance, and how PACELC refines these choices for modern systems.

DP Fundamentals

Understand overlapping subproblems, optimal substructure, memoization vs tabulation, and the core principles of dynamic programming.

DRY: Don't Repeat Yourself

Master DRY principle: eliminate knowledge duplication for maintainable code, improved consistency, and reduced bugs.

Encapsulate What Varies

Identify volatile aspects of your system and hide them behind stable interfaces to reduce coupling and change impact.

Fail Fast

Detect and report errors immediately to prevent silent failures, data corruption, and cascading problems.

Fundamentals

Build your foundation in distributed systems theory. Master the fallacies, theorems, and consistency models that guide all architecture decisions.

Fundamentals & Prerequisites

Essential foundations for algorithmic problem-solving: complexity analysis, basic data structures, and fundamental programming techniques.

Graph Fundamentals

Learn graph representations (adjacency list and matrix), graph traversal algorithms (BFS and DFS), and connected components analysis.

Greedy Fundamentals

Master greedy algorithm principles including greedy choice property, optimal substructure, proof techniques, and when greedy applies.

Heap Fundamentals

Master binary heap operations including insert, extract, heapify, and sift operations for efficient priority queue implementation.

High Cohesion, Low Coupling

Build systems where components relate strongly to their purpose while remaining loosely connected to other components.

Separation of Concerns

Design systems where different areas address different aspects of functionality, improving modularity and maintainability.

Time and Space Complexity Analysis

Master Big O notation, complexity classes, and amortized analysis to evaluate algorithm efficiency and make informed optimization decisions.

Tree Fundamentals

Master tree data structures including traversals (inorder, preorder, postorder, level-order), height calculations, and properties.