Data Structures
Array
Linear structure storing elements in contiguous memory locations.
Stack
Last In First Out (LIFO) structure used in recursion and undo operations.
Queue
First In First Out (FIFO) structure used in scheduling and buffering.
Linked List
Nodes linked using pointers, allowing dynamic memory allocation.
Binary Tree
Hierarchical structure with up to two children per node.
Graph
Set of nodes connected by edges; models relationships and networks.
Heap
Specialized tree-based structure for priority queue operations.
Algorithms
Sorting
Techniques to arrange data in a particular order, e.g., quicksort, mergesort.
Searching
Algorithms to find elements efficiently, like binary and linear search.
Dynamic Programming
Breaking problems into simpler overlapping subproblems for optimization.
Greedy Algorithms
Making locally optimal choices to find global optimum solutions.
Backtracking
Incrementally builds candidates and abandons invalid ones.
Divide & Conquer
Divides problem into subproblems, solves them independently, then combines.