Drawback in linked list is that to malloc() a chunk ,memory allocator has to search the link list and then if that address is found, return it.. So why not use a binary tree to reduce the search-time ?
One of the questions asked by NVIDIA http://www.careercup.com/question?id=9765724
Found a relevant article that discusses it here