Find Jobs
Hire Freelancers

Java Project (Photo)

$10-30 USD

Complété
Publié il y a plus de 3 ans

$10-30 USD

Payé lors de la livraison
1 Introduction The role of a photo management application is to organize photographs so that they can be easily accessed. In order to help organize photos, the user can provide tags to describe the content of the photos. A tag is a keyword associated with a photo. For example, we can associate the tag ”vacation” to any photo taken during a vacation. In Table 1, you may find some examples of photos and the tags that are used to describe them. [login to view URL] animal, hedgehog, apple, grass, green [login to view URL] animal, fox, tree, forest, grass [login to view URL] animal, bear, cub, grass, wind [login to view URL] animal, bear, panda, grass [login to view URL] insect, butterfly, flower, color [login to view URL] animal, wolf, mountain, sky, snow, cloud [login to view URL] insect, butterfly, black, flower [login to view URL] animal, raccoon, log, snow The photo manager organizes the photos into albums created by the user. An album is identified by a unique name and regroups photos that satisfy certain conditions. For the purpose of this assignment, the conditions used to create albums consist in a sequence of tags separated by ”AND”: Tag1 AND Tag2 AND Tag3 Photos that contain all specified tags will appear in the album. An empty tag list matches all photos. Example 1. Using the photos of Table 1, the album with the condition bear, will con- tain two photos (that of the panda and the grizzly bear). The album with the condition animal AND grass will contain four photos (hedgehog, grizzly bear, fox and panda). The albbum with no tags will contain all eight photos. 2 Inverted index In order to accelerate the search for photos, it is possible to store the tags in an inverted index. The idea is that instead of having the photos point to the tags, the inverted index will store all the tags, and each tag will point to all the photos that contain it. The following is an example showing a partial inverted index for the photos shown above: animal --> [login to view URL], [login to view URL], [login to view URL], [login to view URL], [login to view URL], [login to view URL] apple --> [login to view URL] bear --> [login to view URL], [login to view URL] black --> [login to view URL] butterfly -->[login to view URL], [login to view URL] required: 1. Represent the photos-tags association using an inverted index stored in the class PhotoManager. 2. Use a data structure that allows O(log n) in average to search for a tag. 3 Requirements You are required to implement the following specification: public class Photo { // Constructor public Photo(String path, LinkedList<String> tags); // Return the path (full file name) of the photo. A photo is uniquely identified by its path. public String getPath(); // Return all tags associated with the photo public LinkedList<String> getTags(); } public class Album { // Constructor public Album(String name, String condition, PhotoManager manager); // Return the name of the album public String getName(); // Return the condition associated with the album public String getCondition(); // Return the manager public PhotoManager getManager(); // Return all photos that satisfy the album condition public LinkedList<Photo> getPhotos(); // Return the number of tag comparisons used to find all photos of the album public int getNbComps(); } public class PhotoManager { // Constructor public Photomanager(); // Add a photo public void addPhoto(Photo p); // Delete a photo public void deletePhoto(String path); // Return the inverted index of all managed photos public BST<LinkedList<Photo>> getPhotos(); } Remark [login to view URL] list of photos that belong to the album is determined at the time when the method getPhotos is called,not when the album is created. 4-Deliverables and rules read the rules: [login to view URL] specification given in the assignment (class and interface names, and method signatures) must not be modified. Any change to the specification results in compilation errors and consequently the mark zero. [login to view URL] data structures used in this assignment must be implemented by the student. The use of Java collections or any other data structures library is strictly forbidden
N° de projet : 28416169

Concernant le projet

4 propositions
Projet à distance
Actif à il y a 3 ans

Cherchez-vous à gagner de l'argent ?

Avantages de faire une offre sur Freelancer

Fixez votre budget et vos délais
Soyez payé pour votre travail
Surlignez votre proposition
Il est gratuit de s'inscrire et de faire des offres sur des travaux
Décerné à :
Avatar de l'utilisateur
Let's do it NOW .
$30 USD en 2 jours
5,0 (13 commentaires)
3,9
3,9
4 freelances proposent en moyenne $25 USD pour ce travail
Avatar de l'utilisateur
السلام عليكم Hello , i am fulltime freelancer i am Expert Java and problem solving i can help you a lot in your project in very fast time with low budget
$20 USD en 1 jour
5,0 (3 commentaires)
1,2
1,2
Avatar de l'utilisateur
I have full time freelance and i will make a perfect dingen photo you dimand full in split freelance work and communication is week my language but I am handle with it
$24 USD en 3 jours
0,0 (0 commentaires)
0,0
0,0
Avatar de l'utilisateur
Hey there! I’m Sani and I’ll definitely be able to help you complete this project in 48 hours. I’m an undergrad BSc Computer Science student and I’m very skilled in Java. I’ve done a few courses on it over the past 2 years and I have had a similar project before where I had to use tags and I absolutely nailed it. Hmu!
$25 USD en 2 jours
0,0 (0 commentaires)
0,0
0,0

À propos du client

Drapeau de SAUDI ARABIA
Riyadh, Saudi Arabia
0,0
0
Membre depuis déc. 3, 2020

Vérification du client

Merci ! Nous vous avons envoyé un lien par e-mail afin de réclamer votre crédit gratuit.
Une erreur a eu lieu lors de l'envoi de votre e-mail. Veuillez réessayer.
Utilisateurs enregistrés Total des travaux publiés
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Chargement de l'aperçu
Permission donnée pour la géolocalisation.
Votre session de connexion a expiré et vous avez été déconnecté. Veuillez vous connecter à nouveau.