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:
[login to view URL]
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.
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 I would like to help you get this project done if you would give me the opportunity. I am a computer science professor and practitioner and this assignment is one of the fields that I teach very well so I can assure you an accurate result.
Let me know if you are interested so I can start. Thanks.
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.
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, programming in c++ is never a problem. I used c++ to make many great projects, for example, I made the tools which can convert java files to c++ with the same meaning, of course garbage collection included. I made our own mobile game using c++, I even can show you the demo of client. Trust me, please let expert help you.
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 won't disappoint you.
This project deserves a bit more. But as I'm new , all I'm looking for is some ''Good" reviews by the employer.
Thanks.
Hope to hear from you soon. I believe you'll at least give me a chance to proof myself.
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, Fortran, Web Design, Graphics, Logo, Report Writing, Content Writing, Data Entry.....
i think i can do it. Once it is done then quality may be made according to the desired. I will try my best to satisfy the requirements.
Thanks.