REFERENCE - SESSION - IN-DEPTH EXERCISE - PROJECT GUIDANCE

Review

  1. Big O analysis
  2. Motivating example: Search techniques
    • Linear Search O(1) to O(n)
    • Binary Search O(1) to O(logn)
    • Quick Sort O(nlogn) to O(n^2)
    • Merge Sort O(nlogn)
    • Selection Sort O(n^2)
    • Insertion Sort O(n) to O(n^2)

New Topics:

Techniques I

Techniques II

Has optimization worked?

Review Excercises

#

#

When to optimize (later), when not to optimize (initially).

How to theoretically identify hotspots - big-O analysis.

How to empirically determine out hotspots - performance testing.

Learning about the details of a language and how that’s relevant to optimization.

When do you need to optimize?

When does optimization actually work? E.g., parallel vs. serial approaches in different settings / at different problem scales.

Optimization of whole inputs-into-results process vs. optimization of a code chunk.