Fix some complexities.

Quicksort's worst-case uses a linear number of stack frames.
You can delete arbitrary elements of dynamic arrays, but it will take linear time to move stuff over after the delete.
Skip lists can support indexing in log time, as can all sorted trees.
Heapify takes linear time.
Merge pull request #30 from sharpobject/patch-1

Fix some complexities.