Find Jobs
Hire Freelancers

Solve me a Data Structure Problem

₹600-1500 INR

Cancelled
Posted almost 5 years ago

₹600-1500 INR

Paid on delivery
Your manager said that the users are now demanding an additional feature where the Upzilla Browser will also show websites that the users have visited the most. Therefore, your job is to implement an additional function called: public void listTopVisitedSites(Queue<SiteStats> sites, int n) sites is a queue that represents all the websites that the user has visited, as well the number of times that the user has visited each website Please see below for definition of the SiteStats class n represents the top n most visited sites that we want to retrieve from the queue 0 < n <= m, where m is the number of websites tracked by Queue<SiteStats> sites or the size of the queue The function will print the top 5 sites and the no. of times they are visited. If multiple websites have been visited the same no. of times, then they should be ordered by recency (the last visited). If the user has no browsing history, the function will print an empty array of type String In addition, your manager mentions this feature will be shipped in the mobile version of Upzilla Browser. Therefore, you should use the minimal amount of space/memory possible to implement this function since memory is limited in mobile devices. Thus, please follow these instructions while implementing the listTopVisitedSites(Queue<SiteStats> sites, int n) function: Please sort Queue<SiteStats> sites without using any additional queue(s) or data structure(s) a. In other words, sort Queue<SiteStats> sites using itself and do not allocate other data structures. You can do this by finding the most visited site and reordering the queue so that the most visited sites take the top positions after sorting is completed. Once the queue is sorted, please print the top N sites The runtime and space complexity of your implementation should be O( N 2 ) and O(1) respectively. You would also need to complete the following method - public static void updateCount(String url) This method finds the given website in the queue and increments the visited count by 1, if the website is found in the queue. If the website is not found, it adds a new node to the queue. Note: In order to not limit the number of distinct sites that the users could visit from the browser, SiteStats were not stored in a constant sized array. Instead, the number of websites visited is stored in a Queue. This also had the benefit of allowing quick updates to the numVisits variable, as user behaviour showed that they were more likely to visit sites that they had not recently gone to. Thus following a somewhat FIFO approach.
Project ID: 19791501

About the project

1 proposal
Remote project
Active 5 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
1 freelancer is bidding on average ₹2,050 INR for this job
User Avatar
.......................................................................................................................................................
₹2,050 INR in 1 day
5.0 (45 reviews)
4.6
4.6

About the client

Flag of INDIA
Mumbai, India
5.0
1
Payment method verified
Member since May 27, 2019

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