Each class names how the running time reacts when you double the input.
O(1)constant: the cost stays the same no matter the size. Reading one array slot by its index never gets slower.
O(n)linear: cost grows in step with size. Scanning n items takes twice as long when n doubles.
O(log n)logarithmic: doubling the input adds just one more step. Binary search on sorted data behaves this way.
O(n^2)quadratic: cost grows with the square. Comparing every pair quadruples when the list doubles.
The gaps between these decide real performance. At a million items, O(log n) is about twenty steps while O(n^2) is a trillion. That difference is why picking the right class matters more than any small code tweak.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.