Many **O(n)** algorithms *(sorting array with values in fixed range; searching in unsorted array; MST; finding largest binary-search subtree of a tree)* are asymptotically optimal simply by virtue of the fact that every element must be looked at at least once. Also, comparison-search (of a sorted array) is bounded by $\Omega(\log{n})$ for the same reason that comparison-sort is bounded by $\Omega(\log{n!})$ For completeness, **O(1)** algorithms are also trivially asymptotically-optimal.