WHAT?

Algorithm: method for solving a problem.
Data structure: method to store information.
1653627928(1).png

WHY?

  • To solve problems that could not otherwise be addressed.
  • For intellectual stimulation.
    • For me, great algorithms are the poetry of computation
  • To become a proficient programmer.
    • Bad programmers worry about the code.
    • Good programmers worry about data structures and their relationships
    • Algorithms + Data Structures = Programs.
  • They may unlock the secrets of life and of the universe.
    • Algorithms: a common language for nature, human, and computer
  • For fun and profit.


Union-find

Several implementations (quick find, quick union, weighted quick union, and weighted quick union with path compression)

Analysis of Algorithms


Stacks and Queues

Two fundamental data types for storing collections of objects: the stack and the queue.

Elementary Sorts


Mergesort


Quicksort


Priority Queues


Elementary Symbol Tables


Balanced Search Trees


Geometric Applications of BSTs


Hash Tables


Symbol Table Applications