6. Searching and Hashing