Deliverable Length:

  • 1 documented program;
  • A test plan;
  • A screenshot showing the output from the program

Details:

Weekly tasks or assignments (Individual or Group Projects) will be due by Monday and late submissions will be assigned a late penalty in accordance with the late penalty policy found in the syllabus. NOTE: All submission posting times are based on midnight Central Time.

At this point, you want to put together the work that has been completed to deliver a working program for alpha testing. You will combine the elements you have written to this point and deliver a working solution. You will read the contributor information from a file similar to this table below; it is a comma delimited (CSV) file.

Jeff
Sherman
USA
9035551212
100
50

John
Dallas
USA
9035552121
200
51

Bob
Atlanta
USA
9035551111
300
52

Bill
Chicago
USA
9035553333
400
53

Sam
Phoenix
USA
9035557777
500
54
First Name in first
Last Name in second
Country in third
Phone # in fourth
Donation amount in fifth
Contributor ID in sixth

As each record is read, create a sorted Linked list of the contributors using the Insertion sort method. You also need to maintain your table, with one modification. You need to add an object to the Hash Collision Object that is a pointer to the data in the Linked list. In addition, you need to implement Contributor search functionality based on a Contributor Name. Your design should include the following:

High Level Implementation Instructions:

  • Sorted Linked list
  • Sorted using Insertion sort
  • Hash bucket of size 5 with a collision solution using a linked list (no need to order)
  • A Search Algorithm based on ID and Contributor Name.
  • The Contributor Name Algorithm needs to be implemented using the Sequential Search

Each contributor will have the following information:

  • Name: String; //the name of the contributor
  • City: String; //the city in which the contributor lives
  • Country: String; //the country in which the contributor lives
  • Phone: String; //the phone number for the contributor
  • Contribution: Double; //the amount of the contribution given by the contributor to the zoo
  • ID: Integer; //identifier key for future needs

Contributor functions/methods:

  • Input constructor: //to accept a string for the name and additional information for each contributor (this should call the Add constructor to implement the sorted list)
  • Print constructor: //to print out the contributor data
  • Print All constructor: //to print the entire list of contributor names
  • Add constructor: //to traverse the Linked list and find the proper location for adding the instance
  • Search constructor: //the Search algorithm to implement is Sequential Search

Each hash bucket collision item will have the following information:

  • ID: Integer; //identifier key for future needs
  • Contributor Address: Pointer; //a pointer to the address of the contributor instance in the sorted linked list

Hash bucket functions/methods:

  • Input constructor: //to accept a string for the name and additional information for each contributor (you will only need the ID portion of the input data)
  • Hash Function constructor: //Hint: You only have 5 Hash buckets so the function can be very a simple calculation
  • Pop constructor
  • Push constructor
  • Print constructor: //to show the information of the contributor based on a given ID

Deliverables:

  • The design saved in a Key Assignment Draft that does not include any actual code and will be submitted as the deliverable in the next discussion board.
  • A fully documented program to load the data creating a sorted linked list.
  • A test plan to show how the program runs and can be executed.
  • A screenshot showing that the program loaded the data, and after all data is loaded perform the following:
    • Print All showing the sorted list.
    • Contributor information for Georg Pipps
    • Contributor information for ID 25
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.