Data Structures
Array
A collection of items stored at contiguous memory locations.
Linked List
A linear collection of data elements, where each element points to the next.
Stack
A LIFO (Last-In, First-Out) data structure.
Queue
A FIFO (First-In, First-Out) data structure.
Tree
A hierarchical data structure consisting of nodes connected by edges.
Graph
A collection of nodes (vertices) and edges that connect them.
Matrix
A rectangular array of numbers, symbols, or expressions.
Hash Table
Stores key-value pairs and allows for fast data retrieval.
String
A sequence of characters, often used for text manipulation.
Heap
A specialized tree-based data structure that satisfies the heap property.
Algorithms
Sorting
Algorithms for arranging elements in a specific order.
Searching
Algorithms for finding a specific element within a data structure.
Pattern Matching
Algorithms for finding occurrences of a pattern within a larger text.
Divide and Conquer
Breaking down a problem into smaller sub-problems, solving them, and combining the results.
Dynamic Programming
Solving complex problems by breaking them into simpler overlapping subproblems.
Greedy Algorithm
Making the locally optimal choice at each stage with the hope of finding a global optimum.
Backtracking
A general algorithm for finding all (or some) solutions to computational problems.