Summary
In this chapter, we have discussed another non-linear data type called a hash table. Although a collision can happen to the hash table data type, we have learned how to handle it by using a separate chaining technique or open addressing technique. Regarding the open addressing technique, it has three different kinds of handling—linear probing, quadratic probing, and double hashing; however, they are relatively similar in terms of the implementation, except for the way in which we find the next free slot if the hash key we need to insert has been occupied.
In the next chapter, we are going to discuss common algorithm paradigms to design algorithms specifically for a certain purpose.