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