The theorem denotes that:
Any comparison sorting algorithm performs Ω(nlg(n)) comparisons in the worst case.
To prove that I found:
Looking the worst case number of comparisons that an algorithm performs, means the longest path from the root to a leaf in its decision-tree.
As a binary tree of height h has at most 2^h leafs, and there are n! permutations (output), we have:
2^h ≥ n!
I understand that we can rewrite 2^h ≥ n!
as h ≥ log2(n!)
but how can we end up with:
h ≥ log2(n!) = Ω(n*lg(n)) ?