C++ Assignment project using Hashmap - open to bidding
$30-250 USD
Cerrado
Publicado hace alrededor de 10 años
$30-250 USD
Pagado a la entrega
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 Java 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.