dsa1
dsa1
def __init__(self,size):
self.size=size
self.table=[None]*size
return hash(key)%self.size
def insert_separate_chaining(self,key,value):
index=self.hash_function(key)
if self.table[index] is None:
self.table[index]=[(key,value)]
else:
self.table[index].append((key,value))
def search_separate_chaining(self,key):
index=self.hash_function(key)
if item[0]==key:
return item[1]
return None
def insert_linear_probing(self,key,value):
index=self.hash_function(key)
index=(index+1)%self.size
self.table[index]=(key,value)
def search_linear_probing(self,key):
index=self.hash_function(key)
og_index=index
if self.table[index][0] ==key:
return self.table[index][1]
index=(index+1)%self.size
if index==og_index:
break
return None
hash_table_chaining=Hashtable(10)
hash_table_linear_probing=Hashtable(10)
while True:
print("3. Exit\n")
if choice == "1":
hash_table_chaining.insert_separate_chaining(name, number)
hash_table_linear_probing.insert_linear_probing(name, number)
result_linear_probing=hash_table_linear_probing.search_linear_probing(name)
if result_chaining:
else:
if result_linear_probing:
else:
print("Exiting Program...")
break
else:
OUTPUT: