Find Jobs
Hire Freelancers

Bucket sort -- 2

$10-30 USD

Closed
Posted over 3 years ago

$10-30 USD

Paid on delivery
This lab serves as an intro to an Object-Oriented design strategy towards implementing data structures. We will be using [login to view URL] objects which encapsulate key,value pairs, with key being an integer and value being a generic parameter. We will be sorting these Entries according to their key value. The file [login to view URL] is given to you almost complete: it currently captures the key,Value pair, constructor, getters, and toString() method, but it needs to be made into a comparable type (by comparison through its integer keys). Bucket sort works by placing items into buckets and each bucket is kept in sorted order on its own. Once all items are placed in buckets, the bucket contents are extracted in sequence from smallest bucket to largest. In this lab, we will use your MySortedArray object from Lab2 which takes in an Entry item through .add(item) and stores it in sorted order. We will also be using a BucketList object which creates a list of MySortedArray objects, and upon receiving an item to add, this BucketList object decides which bucket (i.e. which MySortedArray) each number (Entry) goes to. (From Wikipedia) BucketSort. Each cylinder is one instance of your MySortedArray The behavior of a BucketList object is dictated by this interface: [login to view URL]: an interface that describes the collection of buckets. The constructor takes 3 parameters: int min, int max, int n, which represent the expected minimum of Entry keys, expected maximum of Entry keys, and the number of buckets to create. It supports methods .add(Entry) and .addAll(Entries) to add one Entry or to add many Entries. The .add() method should decide which bucket the Entry gets placed in, and a formula is already given to you for this. It also has a way to extract all the entries in sorted order with a .getSortedOrder() method. You do not need to modify this ADT file. Your task will be to (i) make the [login to view URL] class comparable (ii) complete the [login to view URL] class which implements the [login to view URL] interface, and finally, complete the run the [login to view URL] testfile to the specifications laid in the TODO items in that file, and also ensuring you get over 90% coverage in the [login to view URL] and BucketList.java. Note that while this implementation uses your [login to view URL] class for each bucket, it only really needs to use the .add() method and maybe a new method (getContents?) you create to retrieve the array of all the Entries in it. So it is not essential to see sufficient coverage of your [login to view URL] file in this lab (also, it should have also been sufficiently tested in Lab2). The files are partially implemented already, and contain //TODO items throughout the file to guide you in the implementation process. Further, there is a [login to view URL] present only to show you some sample intended usage of the data structure and sorting method. You can modify or delete this file as you please. Finally, there is a [login to view URL] class file which illustrates how one can test the contents of each bucket after adding elements to the bucket list. Once again, there are //TODO items throughout this test file with more specific instructions.
Project ID: 27736659

About the project

5 proposals
Remote project
Active 3 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
5 freelancers are bidding on average $45 USD for this job
User Avatar
I am very proficient in java. I have 17 years java developing experience now, and have worked for more than 10 years. My work is online game developing, and mainly focus on server side, using java under Linux environment. I made many great projects using java, for example, I made the tools which could convert java files into c++ scripts, of course garbage collection included, this job was very similar to a compiler, and was very complex. I also made our own mobile game using java, I can show you the demo of client, if you like. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you. Besides, I am very proficient in c/c++ also, hope I can help you.
$70 USD in 1 day
4.9 (220 reviews)
7.3
7.3
User Avatar
Hello, I'm expert in python, Java and algorithms. I have a M Sc degree in AI and extensive experience in problem solving, so I can easily help you. Looking forward to your reply.
$80 USD in 7 days
5.0 (9 reviews)
3.9
3.9
User Avatar
Hi Dear, I read your description carefully. I understood what you require me to do and I am filled with confidence that I can complete your project wonderfully. I have experience over 5+ years with Java/JavaFX/JavaSwing/JavaSpring. I ensure: => The Best Quality, => The Shortest Time. If you give me a chance, I will do my best to complete this project for us. I can complete this project with the best quality in time. I hope your kind reply. Best Regards. Chian Y.
$18 USD in 1 day
5.0 (8 reviews)
3.2
3.2
User Avatar
I can do your project within your time. I am expert in following C,C+,Java,PHP,C# Pentesting, web security linux and shell scripting Socket proggraming, parallel computing, web scraping, etc.. Check my profile review here https://www.freelancer.com/u/sayanthanpera I have any available bit at this time in my account That's why I used this account (You must award to @sayanthanpera, if like hire me). Thank you
$30 USD in 2 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi, I have good knowledge in Java. I will work with you for your labs. Thank you Regards, Tharani Sundaram
$25 USD in 10 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of CANADA
Kelowna, Canada
5.0
1
Payment method verified
Member since Sep 21, 2020

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759) & Freelancer Online India Private Limited (CIN U93000HR2011FTC043854)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.