sets and maps in the last we studied sequences which are used to keep track of lists of things where duplicate values are allowed for instancethere can be two sixes in sequence or list of integers in this we look at sets where duplicate values are not allowed after examining sets we'll move on to talk about maps maps may also be called dictionaries or hash tables the term hash table actually suggests an implementation of set or map the primary focus of this is in understanding hashing hashing is very important concept in computer science because it is very efficient method of searching for value to begin the we'll motivate our interest in hashingthen we'll develop hashing algorithm for finding values in set we'll also apply hashing to the building of sets and maps then we'll look at an important technique that uses hashing called memoization and we'll apply that technique to couple of problems goals in this you learn how to implement couple of abstract datatypessets and maps you will read about the importance of hashing for both of these datatypes you'll also learn about the importance of understanding the difference between mutable and immutable data by the end of the you should be able to answer these questions what is the complexity of finding value in setwhat is the load factor and how does it affect the overall efficiency of lookup in hash tablewhen would you use an immutable setwhen might you want mutable setwhen is there an advantage to using memoization in problemunder what circumstances can it be useful to use map or dictionary(cspringer international publishing switzerland lee and hubbarddata structures and algorithms with pythonundergraduate topics in computer sciencedoi -- this copy belongs to 'acha