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