hash tables the search problemwhich was introduced in attempts to locate an item in collection based on its associated search key searching is the most common operation applied to collections of data it' not only used to determine if an item is in the collectionbut can also be used in adding new items to the collection and removing existing items given the importance of searchingwe need to be able to accomplish this operation fast and efficiently if the collection is stored in sequencewe can use linear search to locate an item the linear search is simple to implement but not very efficient as it requires (ntime in the worst case we saw that the search time could be improved using the binary search algorithm as it only requires (log ntime in the worst case but the binary search can only be applied to sequence in which the keys are in sorted order the question becomescan we improve the search operation to achieve better than (log ntimethe linear and binary search algorithms are both comparisonbased searches that isin order to locate an itemthe target search key has to be compared against the other keys in the collection unfortunatelyit can be shown that (log nis the best we can achieve for comparison-based search to improve on this timewe would have to use technique other than comparing the target key against other keys in the collection in this we explore the use of non-comparison-based algorithm to provide more efficient search operation this is the same technique used in the implementation of python' dictionary structure introduction suppose you have collection of products for which you need to maintain information and allow for numerous searches on that information at the present timeyou only have small collection of products but you can envision having up to