#separator:tab
#html:false
#tags column:4
Data structure	A way of organizing data so it can be used efficiently		tech-data-structures
Array	A fixed-size list of items stored in order, accessed by index		tech-data-structures
Index	The position number of an item in an array, starting at 0 in most languages		tech-data-structures
Dynamic array	An array that grows automatically, like a Python list		tech-data-structures
Linked list	Items (nodes) linked by pointers, each pointing to the next		tech-data-structures
Node	A piece of a linked structure holding data and links		tech-data-structures
Singly linked list	Each node points only to the next		tech-data-structures
Doubly linked list	Each node points to both the next and the previous		tech-data-structures
Pointer (reference)	A value that tells where another value is stored		tech-data-structures
Stack	A last-in, first-out (LIFO) structure		tech-data-structures
Push	Add an item to a stack		tech-data-structures
Pop	Remove the top item from a stack		tech-data-structures
Peek	Look at the top item without removing it		tech-data-structures
Queue	A first-in, first-out (FIFO) structure		tech-data-structures
Enqueue	Add an item to the back of a queue		tech-data-structures
Dequeue	Remove the item at the front of a queue		tech-data-structures
Deque	A double-ended queue; add or remove at either end		tech-data-structures
Priority queue	A queue where higher priority items leave first		tech-data-structures
Hash table (hash map)	Stores key-value pairs for fast lookup using a hash function		tech-data-structures
Hash function	Converts a key into a number to find its slot		tech-data-structures
Set	A collection of unique items		tech-data-structures
Dictionary (map)	A collection of key-value pairs		tech-data-structures
Tuple	An ordered, unchangeable group of values		tech-data-structures
Tree	A hierarchy of nodes with a root and branches		tech-data-structures
Root	The top node of a tree		tech-data-structures
Leaf	A node with no children		tech-data-structures
Parent and child	A node and the nodes directly below it		tech-data-structures
Depth	How many steps a node is from the root		tech-data-structures
Height of a tree	The longest path from the root to a leaf		tech-data-structures
Binary tree	A tree in which each node has at most two children		tech-data-structures
Binary search tree (BST)	A binary tree where left values are smaller and right values are larger		tech-data-structures
Balanced tree	A tree whose branches are roughly equal in height		tech-data-structures
AVL tree	A self-balancing binary search tree		tech-data-structures
Heap	A tree-based structure where the parent is always larger (or smaller) than its children		tech-data-structures
Min-heap	The smallest element is at the top		tech-data-structures
Max-heap	The largest element is at the top		tech-data-structures
Trie	A tree for storing words by their letters		tech-data-structures
Graph	Nodes (vertices) connected by edges		tech-data-structures
Vertex	A node in a graph		tech-data-structures
Edge	A connection between two vertices		tech-data-structures
Directed graph	Edges have a direction		tech-data-structures
Undirected graph	Edges go both ways		tech-data-structures
Weighted graph	Edges have values like distance or cost		tech-data-structures
Adjacency list	Graph stored as a list of neighbors for each vertex		tech-data-structures
Adjacency matrix	Graph stored as a grid showing which vertices connect		tech-data-structures
Cycle	A path that returns to its starting vertex		tech-data-structures
Tree vs graph	A tree is a graph with no cycles that is connected		tech-data-structures
Record (struct)	A bundle of named fields		tech-data-structures
String	A sequence of characters		tech-data-structures
Matrix	A grid of values in rows and columns		tech-data-structures
2D array	An array of arrays, like a grid		tech-data-structures
Stack use	Undo buttons, function calls, browser back		tech-data-structures
Queue use	Print jobs, task scheduling		tech-data-structures
Hash table use	Fast lookups, caches, counting		tech-data-structures
Tree use	File systems, search, hierarchies		tech-data-structures
Graph use	Maps, social networks, the internet		tech-data-structures
Access time of an array by index	O(1)		tech-data-structures
Search time in an unsorted array	O(n)		tech-data-structures
Insertion at the front of a linked list	O(1)		tech-data-structures
Search time in a balanced BST	O(log n)		tech-data-structures
Average lookup in a hash table	O(1)		tech-data-structures
Call stack	The stack that tracks which function is running		tech-data-structures
Stack overflow	When the call stack runs out of space, often from endless recursion		tech-data-structures
Abstract data type (ADT)	A description of what a structure does, not how		tech-data-structures
Circular buffer	A fixed-size queue that wraps around		tech-data-structures
Bloom filter	A compact structure that tells if an item might be in a set		tech-data-structures
Union-find	A structure that tracks groups of connected items		tech-data-structures
Immutable	Cannot be changed after creation		tech-data-structures
Mutable	Can be changed after creation		tech-data-structures
