In Python, the map concept appears as a built-in data type called a dictionary. A dictionary contains key-value pairs. Dictionaries is extremely easy to use and useful. Here’s a sample of setting up a dictionary.
locations = {'North America': {'USA': ['Mountain View']}} locations['North America']['USA'].append('Atranta') locations['Asia'] = {'India': ['Bangalore']} locations['Asia']['China'].append = ['Shanghai'] locations['Africa'] = {'Egypt': ['Cairo']} usa_sorted = sorted(locations['North America']['USA']) for city in usa_sorted print city asia_cities = [] for countries, cities in location['Asia'].iteritems(): city_country = cities[0] + " - " + countries asia_cities.append(city_country) asia_sorted = sorted(asia_cities) for city in asia_sorted: print city
When hash table collision, bucket store data.
Hash Value = (ASCII Value of First Letter * 100) + ASCII Value of Second Letter
hash table
class HashTable(object): def __init__(self): self.table = [None]*10000 def store(self, string): hv = self.calculate_hash_value(string) if hv != -1: if self.table[hv] != None: self.table[hv].append(string) else self.table[hv] = [string] def lookup(self, string): hv = slef.calculate_hash_value(string) if hv != -1: if self.table[hv] != None: if string in self.table[hv]: return hv return -1 def calculate_hash_value(self, string): value = ord(string[0])* 100 + ord(string[1]) return -1
Tree DFS, In-order