Ccs

Computational Complexity

Complexity Classes

The Computational Zoo is far more subtle and complex than I thought it was.

/projects/ccs/comp-complexity/
zoo.svg

Computational Zoo

It contains P, NP (+complete), EXP, NP-hard, CO-NP (+complete), PSPACE, BPP, BQP, EXPSPACE, 2-EXP, halting problem, decidable, etc!

Big Oh Notation

Big-Oh ( \(O\) ) gives an upper bound on how an algorithm’s resource consumption grows with input size \(n\).

Read more >

Memory

Honestly, the diagrams that I wish to reproduce already exist here. Currently this page is in construction and probably will be until I finish my Doctorate.

“Memory is the mother of all wisdom." — Aeschylus

Babbage's Big Brain

Memory as a Hierarchy — Not a Monolith

Hierarchy exists for two intertwined reasons:

  1. Physics – Smaller structures are faster and nearer to ALUs but hold less data; larger structures store more but are farther away and thus slower.
  2. Economics – Fast memory costs disproportionately more per byte.

An efficient system arranges multiple layers so that > the majority of accesses hit the small, fast part, > while the bulk of bytes reside in the large, cheap part.

Read more >

Sorting

Time Complexity Explainer

O(n^2) Searches

Insertion Sort

Selection Sort

etc

O(n log(n)) Searches

Merge Sort

O(n) Searches

Bucket Sort

To classify

Bubblesort

Bogosort