Classytic

Course

Algorithms and Data Structures: what everything costs

Every method here reports its own price while it runs. Count the comparisons, watch the counter climb, and let Big-O arrive as a summary of numbers you have already seen rather than a table to memorise.

100 lessons10h 31mEnglish

What you'll learn

  • Measure an algorithm by counting its operations instead of timing it on one machine
  • Read an operation count at a chosen input size and name the growth class it belongs to
  • Explain why a quadratic method looks fine on eight values and fails on a thousand
  • Trace bubble, insertion, selection, merge and quicksort, and say what each one is good at
  • Explain why binary search needs sorted input, and when a plain scan still wins
  • Choose between an array and a linked list from the operations a program performs most
  • Explain a hash collision, and relate load factor to the cost of a later lookup
  • Trace a binary search tree, and explain why a degenerate tree loses its advantage entirely
  • Explain why a heap keeps less order than a sorted list and is cheaper to maintain because of it
  • Choose between breadth-first and depth-first search, and say why the frontier decides the difference
  • Explain why fewest hops stops being cheapest once edges carry a cost
  • Recognise overlapping subproblems, and fill a dynamic programming table in a safe order
  • Prove or refute a Big-O, Ω or Θ claim by producing constants c and n₀
  • Trace heap build, insert, extract-min and decrease-key as arrays, and a BST insertion, deletion and AVL rotation
  • Tell when greedy is safe and when only a dynamic programming table is

Requirements

  • Able to read a loop and an if statement in any language
  • Comfortable with basic algebra, including squaring a number
  • No prior study of algorithms is assumed, and no specific programming language is used

Course content

100 lessons · 10h 31m

About the creator