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...

1 answer below »

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





Please submit your assignment.

Answered Same DayDec 14, 2021

Answer To: As you are working on finalizing the code for your solution, you are thinking that a B-Tree might be...

Aditi answered on Dec 16 2021
144 Votes
Solution/Compare.java
Solution/Compare.java
import java.util.Comparator;
public class Compare implements Comparator{
    @Override
    public int compare(Contributor o1, Contributor o2) {
        String name1 = o1.getName();
 String name2 = o2.getName();
        return name2.compareTo(name1);
    }

}
Solution/Contributor.java
Solution/Contributor.java
 
public class Contributor {

    private String firstName;
    private String lastName;
    private String country;
    private String phoneNumber;
    private double contribution;
    private int ID;

    private Contributor next;
    public Contributor(String firstName, String lastName, String country, String phoneNumber, double contribution, int ID, Contributor next) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.country = country;
        this.phoneNumber = phoneNumber;
        this.contribution = contribution;
        this.ID = ID;
        this.next = next;
    }

    public Contributor(String firstName, String lastName, String country, String phoneNumber, double contribution, int ID) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.country = country;
        this.phoneNumber = phoneNumber;
        this.contribution = contribution;
        this.ID = ID;
        this.next = null;
    }

    public Contributor(Contributor con){
        this.firstName = con.firstName;
        this.lastName = con.lastName;
        this.country = con.country;
        this.phoneNumber = con.phoneNumber;
        this.contribution = con.contribution;
        this.ID = con.ID;
        this.next = con.next;
    }
    public String getLastName() {
        return lastName;
    }
    public double getContribution() {
        return contribution;
    }
    public String getFirstName() {
        return firstName;
    }

    public String getName(){
        return firstName + " " + lastName;
    }
    public String getCountry() {
        return country;
    }
    public int getID() {
        return ID;
    }
    public String getPhoneNumber() {
        return phoneNumber;
    }
    public Contributor getNext() {
        return next;
    }
    public void setNext(Contributor next) {
        this.next = next;
    }
    @Override
    public String toString() {
        String str = firstName + " " + lastName + " " + ID;
        str += "\n\tContribution: " + co...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here