title: Why are circular linked lists used in storage allocators instead of a tree?
body: <p>How come storage allocators use a circular linked list to store allocated/ free addresses instead of a balanced tree? Traversing a linked list would require O(n) order of complexity whereas a balanced tree could be traversed in O(logn), right? What's the advantage / reasoning behind it?</p>