+1(978)310-4246 credencewriters@gmail.com
Select Page

Programming Problem Suppose you are implementing a dynamic set
of bank account records as a hash table for the Sun
Devil Bank. Each bank record has an account number, ownerâ€™s name, and the
current balance. the
account number is any six-digit integer number between 100001 and 999999.
No two records can
have the same account number. In addition to the key, each record has the
following information.
Even though the account number can take a value between 100001 and
999999. Even though the
account number gives a higher range of numbers bank will not have more
than 800 accounts at a
given time.
Hash Table Implementation Details: You will implement this hash table in two
ways as described
below. You need to design a suitable node structure for the account record
and then each slot in
the hash table can be a pointer to an account record
a) [40 Points] Hashing chaining in case of collision. Hash function h(k) = k
mod m
Assume that the hash key is k mod m and using chaining in case of a
collision. The size (m) of
the hash table (T) is 753. Also, you can assume that account numbers are
generated using a random
uniform distribution function and each account number is unique.
Write a C or C++ program that Implements the hash table construction for the
above scenario and
then implement the following three functions
a) INSERT_Account(T, x) // insert the bank account record x to the table
b) DELETE_Account(T, k) // delete the bank account record from the table
where
k is the account number
c) SEARCH_Account(T, k) //search the account number k in the hash table
and
returns the corresponding bank account record, and display account
information
For the insert operation, read the ownerâ€™s name, account number, and the
account balance from
the keyboard. For delete and search operations, read the account number
from the keyboard
Save your program as hash_chain.cpp or
hash_chain.c
b)[ 30 Points] Hashing open addressing in case of collision. Use linear probing
h(k, i) = (hâ€™(k) + i) mod m. i = 0, 1, 2, …, and hâ€™(k) = k mod m
The size (m) of the hash table (T) is 753. Also, you can assume that account
numbers are generated
using a random uniform distribution function and each account number is
unique.
Write a C or C++ program that Implements the hash table construction for the
above scenario and
then implement the following three functions
INSERT_Account(T, x) // inserts the bank account record x to the table
SEARCH_Account(T, k) //searchs the account number k in the hash table and
returns the corresponding bank account record and displays account
information.
For the insert operation, read the ownerâ€™s name, account number, and
account balance from the
keyboard. For the search operations, read the account number from the
keyboard
Save your program as hash_open.cpp or
hash_open.c