Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Implement quadratic probing as a rehash technique. This is the code that I have so far [from a textbook that can be found at http://interactivepython.org/runestone/static/pythonds/SortSearch/Hashing.html#analysis-of-hashing):

Implement quadratic probing as a rehash technique.

This is the code that I have so far [from a textbook that can be found at http://interactivepython.org/runestone/static/pythonds/SortSearch/Hashing.html#analysis-of-hashing):

class HashTable: def __init__(self): self.size = 11 self.slots = [None] * self.size self.data = [None] * self.size

def put(self,key,data): hashvalue = self.hashfunction(key,len(self.slots))

if self.slots[hashvalue] == None: self.slots[hashvalue] = key self.data[hashvalue] = data else: if self.slots[hashvalue] == key: self.data[hashvalue] = data #replace else: nextslot = self.rehash(hashvalue,len(self.slots)) while self.slots[nextslot] != None and \ self.slots[nextslot] != key: nextslot = self.rehash(nextslot,len(self.slots))

if self.slots[nextslot] == None: self.slots[nextslot]=key self.data[nextslot]=data else: self.data[nextslot] = data #replace

def hashfunction(self,key,size): return key%size

def rehash(self,oldhash,size): return (oldhash+1)%size

def get(self,key): startslot = self.hashfunction(key,len(self.slots))

data = None stop = False found = False position = startslot while self.slots[position] != None and \ not found and not stop: if self.slots[position] == key: found = True data = self.data[position] else: position=self.rehash(position,len(self.slots)) if position == startslot: stop = True return data

def __getitem__(self,key): return self.get(key)

def __setitem__(self,key,data): self.put(key,data)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions