Technology & Computing

Computer Science

Algorithms, data structures, theory, and programming concepts.

A study reference, not a substitute for primary sources. Updated 2026-06-02.

Data Structures

Arrays and Linked Lists

Stacks and Queues

Trees

Heaps

Hash Tables

Graphs

Other Key Structures

Structure Access Search Insert Delete Space
Array O(1) O(n) O(n) O(n) O(n)
Linked list O(n) O(n) O(1) O(1)* O(n)
Hash table (avg) O(1) O(1) O(1) O(n)
BST (balanced) O(log n) O(log n) O(log n) O(log n) O(n)
Min/Max heap O(n) O(n) O(log n) O(log n) O(n)

*O(1) deletion given a pointer to the node.

Sorting and Searching

Sorting Algorithms

Algorithm Best Average Worst Space Stable?
Bubble sort O(n) O(n²) O(n²) O(1) Yes
Selection sort O(n²) O(n²) O(n²) O(1) No
Insertion sort O(n) O(n²) O(n²) O(1) Yes
Merge sort O(n log n) O(n log n) O(n log n) O(n) Yes
Quicksort O(n log n) O(n log n) O(n²) O(log n) No
Heap sort O(n log n) O(n log n) O(n log n) O(1) No
Counting sort O(n+k) O(n+k) O(n+k) O(k) Yes
Radix sort O(nk) O(nk) O(nk) O(n+k) Yes

Searching

String Algorithms

Algorithms

Recursion and Divide-and-Conquer

Dynamic Programming

Graph Algorithms

Complexity Theory

Big-O Notation

Complexity Classes

Computability and Automata

Programming Paradigms and Languages

Key Languages (Brief)

Operating Systems

Databases

Cryptography Fundamentals

Networking Basics

Key Figures and Turing Award Context

Reading Lists