Algorithm_Analysis
  1. What is an algorithm?
    1. Other "techniques" that are not algorithms
    2. Recursive algorithms
    3. Iterative algorithms
    4. Polynomial algorithms
    5. Exponetial algorithms
    6. Big-O notation
  2. Algorithm designs
    1. Exhaustive search or brute force algorithms
    2. Branch-and-bound or pruning algorithms
    3. Greedy algorithms
    4. Dynamic programming
    5. Divide & conquer algorithms
    6. Machine learning and artificial intelligence methods
    7. Randomized algorithms
  3. Computer architecture considerations
    1. Space vs time
    2. Memory vs disk space
    3. Cache
    4. CPU speed
    5. Numeric precision
      1. Floating point vs fixed point
      2. 32 bits vs 64 bits
    6. Parallelization - various options
      1. SMP
        1. Hyperthreading
        2. Multiple cores
        3. Multiple CPUs, shared memory
      2. Cluster computing
      3. Distributed computing
      4. Grid computing
      5. More ...
Back to Top