As you are working on finalizing the code for your solution, you are thinking that a B-Tree might be an elegant solution for the sorting and search algorithms. In order though to implement the solution in the most elegant fashion the use of recursion will be needed. You approach others in your department about the possibility of using recursion, and a few of them are not familiar with how it works. Describe recursion and give sample code to implement the Fibonacci Series. This should go in the Design Document.
Based on the feedback you received from the alpha test, now is your chance to modify your program as needed and submit it for final testing and implementation. Enhance your program to incorporate the relevant feedback you have received, and add one additional sort routine for your final design. 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
An additional Search algorithm based on a Binary Search of the Contributor’s Name (this will include an additional Sorted Array of the contributor's name)
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
An additional Search algorithm based on a Binary Search of the Contributor’s Name (this will include an additional Sorted Array of the contributor's name)
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 document that includes the recursion example.
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
An analysis of the differences in performance of the Sequential Search versus the Binary Search
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.