Advantages: Time complexity for hash tables is expected O(1) compared to O(log N) for balanced search trees. Disadvantages: The guaranteed time complexity requires a good O(1) hash function. Time complexity is only expected time. With any hash function, it is always possible for performance to be O(N). You cannot easily find the smallest/biggest element of a hash table or get the elements in ascending/descending order. Also see course book chapter 20.6.