Ordered from cheapest to most expensive as input grows, the common classes run like this:
O(1)constant: same cost always, like a hash lookup.
O(log n)logarithmic: binary search on sorted data.
O(n)linear: one scan through the data.
O(n log n)linearithmic: the best general sorting.
O(n^2)quadratic: comparing every pair.
O(2^n)exponential: trying every subset.
O(n!)factorial: trying every ordering.
"Fastest" here means it grows slowest, so it stays cheap at scale. The jumps are brutal. At a thousand items, linear is a thousand steps while quadratic is a million. Anything exponential or factorial becomes hopeless past small inputs, so spotting it early saves you from a program that never finishes.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.