C++ Assignment project using Hashmap

Completed Posted Apr 3, 2014 Paid on delivery
Completed Paid on delivery

A Hash Map is a data structure used to implement an associative array, meaning, a structure that can map keys to slots (or buckets). Algorithmically, a hash map is simply a list of lists (much like an array of arrays). For this part, you will be implementing a hash map that will later store large amounts of data (Twitter, Web or Flights). The mapping provided by the hash map will allow you to access data in a fast and efficient way.

Description:

Implement a class called HashMap with the following properties:

1. HashMap will contain attributes and methods to store and handle your data;

2. As attributes, HashMap should contain:

2.1. A long integer value with the number of slots in the hash map;

2.2. A double linked list of double linked lists;

3. As methods, HashMap should contain the following operations:

3.1. getSize(): A query that returns the number of slots in the hash map (note that no setSize() is needed because the number of slots should be automatically updated by the operations insert and delete below).

3.2. insert(s): A modifying operation that augments the hash map with an empty slot pointed to by s.

3.3. insert(s,x): A modifying operation that augments the slot s in the hash map with the element pointed to by x.

3.4. delete(s): A modifying operation that, given a pointer s to a slot in the hash map, removes the entire slot s from the hash map.

3.5. delete(s,x): A modifying operation that, given a pointer to s and a pointer x to an element in slot s in the hash map, removes x from slot s.

You have to build the HashMap class from scratch (i.e., no STL, etc) and compile your program on AWS.

Your hash map should be structured like in the picture in the link below:

[url removed, login to view]

Each box in the picture represents a node (or link) of the list and should be encoded as a class. Names (e.g., "data", "prev", etc) are attributes in each class. Arrows are pointers and represent the connections within the hash map (i.e., prev, next and head are pointers to nodes). An arrow pointing to ground represents the end of the list and is programmatically implemented as a pointer to NULL. "data" and "data_slot" are classes (or structures) that will store your data. For this part, "data_slot" should contain two attributes: one string and one long integer. "data" should contain two attributes of the type string. Note that the nodes of the hash map have similar internal structure, so you should design your hash map exploring what you learned about inheritance. Here, the base class should contain all attributes and methods that are common to all nodes. Each node should derive from the base class and add methods and attributes that are particular to it.

Note that this part only requires you to design and implement the classes in C++. No functional program is necessary (i.e., no main() function needed). Document everything you do as this part is going to be part of your final report.

C++ Programming Website Design

Project ID: #5756279

About the project

12 proposals Remote project Active Apr 7, 2014

Awarded to:

szymszteinsl

Hi! I am professional C/C++/C#/Java programmer. I can do this project with highest quality. Best Regards, Szymszteinsl

$30 USD in 1 day
(16 Reviews)
5.9

12 freelancers are bidding on average $37 for this job

vano101

A proposal has not yet been provided

$29 USD in 1 day
(228 Reviews)
6.1
dobreiiita

Hi, I am C++ expert and interested in this project. Please communicate to discuss further. Thank you

$34 USD in 2 days
(117 Reviews)
6.0
it2051229

Hi, I am placing my bid on your project because I have read the requirements and I am confident enough with my C++ and algorithm skills. I am focused mostly on doing computer science homework here in freelancer.com and More

$30 USD in 1 day
(118 Reviews)
5.6
KingOfPhoenix

Hi, Friend. I have enough experience in C/C++ programming. I also have deep understanding about HashMap. I think I can help you perfectly & asap. Thanks.

$123 USD in 1 day
(14 Reviews)
5.3
hbxfnzwpf

I am very proficient in c, c++. I have 15 years c++ developing experience now, and I have worked for 5 years. My work is online game developing, and mainly focus on server side, the lauguage is c++ under linux os. So, More

$39 USD in 0 days
(23 Reviews)
5.2
wjx823

hello, sreddy. i am wjx823. i hope that you hire me again. i will let you satisfy with my skill. jixing.

$35 USD in 1 day
(6 Reviews)
3.8
dpappu131

hello .................................................................................................................................................

$30 USD in 1 day
(5 Reviews)
2.8
plough

hi, i had implemented the same hashmap data structure with separate chaining once. so i can do this one easily for you..

$15 USD in 1 day
(0 Reviews)
0.0
MODstudios

Greetings! I'm interested to work on this project. I've started my freelancing career 10 minutes ago. I know it's must be hard to pick someone who really doesn't have any reviews or feedback. But I assure you that i wo More

$25 USD in 1 day
(0 Reviews)
0.0
sachitjani81

i can do it..........................................................................................................................................

$100 USD in 1 day
(0 Reviews)
0.0
saadtaame

hi there, i'm a master's student in computer science. you can intrust this task to me and you won't regret it. good luck

$55 USD in 1 day
(0 Reviews)
0.0
FigST

Hi, what you yourself feel happy to pay ? you tell me. i just want to work. I will take what you will be happy to pay. Dont fear, this xxx $ is just a filling of position. i may work in C, C++, SQL, Verilog, For More

$25 USD in 2 days
(0 Reviews)
0.0