Scott's Notes
Computer Science
Status: Work in progress
Languages
Python
Go
Computer Science
Computer Science
Java
Rust
Data Structures
Array
Linked List
Stack
Queue
Tree
Binary Tree
Binary Search Tree
Full Binary Tree
Complete Binary Tree
Balanced Tree
Unbalanced Tree
Hash Table
Graph
Directed Graph
Undirected Graph
Spanning Tree
Representation
Adjacency List
Adjacency Matrix
Heap
Asymptotic Notation
Big O
Big-Theta
Big Omega
Common Runtimes
Constant
Logarithmic
Linear
Polynomial
Exponential
Factorial
Common Algorithms
Graphs
Breadth First Search
Depth First Search
Dijkstra’s Algorithm
Bellman-Ford Algorithm
Floyd-Warshall Algorithm
A* Algorithm
Greedy Algorithms
Clustering Coefficients
Topological Sorting
Huffman Coding
Kruskal’s Algorithm
Prim’s Algorithm
Tree
Pre-Order Traversal
In-Order Traversal
Post-Order Traversal
Breadth First Search
Depth First Search
Recursion
Tail Recursion
Non-Tail Recursion
Searching
Binary Search
Linear Search
Backtracking
Solving N-Queens Problem
Maze Solving Problem
The Knight’s Tour Problem
Fibonacci
Robin Karp Algorithm
Sorting
Bubble Sort
Selection Sort
Insertion Sort
Heap Sort
Quick Sort
Merge Sort