# Why is a heap better than a linked list for implementation of a priority queue?

Using a heap, you have O(log(n)) insertion and O(log(n)) removal. Using a linked list, you have O(n) insertion and O(1) removal.

Why is it better to have log-n for both than n for one and constant time for the other?

But if you're doing a large number of each operation, $$O(\log n) + O(\log n) = O(\log n)$$ is asymptotically faster than $$O(n) + O(1) = O(n)$$.