At least (B) is correct, because both heap sort and merge sort have O(n log(n)) average and worst case complexity.
I have never heard of tree sort, though. https://en.wikipedia.org/wiki/Tree_sort
According to wikipedia, worst case is O(n log n) when balanced, and O(n^2) when unbalanced. So I don't think enough information is given. I would check what your textbook specifically defines a tree sort as, to see whether they define it to be balanced or not.
However, Quicksort is O(n^2) in worst case, though, even though it's very rare for that to happen. So I would say it's only (B).