{"id":20271952,"url":"https://github.com/hoangsonww/sorting-algorithms-dsa","last_synced_at":"2025-04-11T04:32:45.575Z","repository":{"id":221903749,"uuid":"686786238","full_name":"hoangsonww/Sorting-Algorithms-DSA","owner":"hoangsonww","description":"🔄 This repository delves into sorting algorithms, with a special emphasis on the implementation of Merge Sort to organize artworks in a museum setting. It provides a detailed guide on sorting principles, Merge Sort algorithm adaptation, and its application to real-world scenarios.","archived":false,"fork":false,"pushed_at":"2025-03-16T23:52:05.000Z","size":28,"stargazers_count":21,"open_issues_count":0,"forks_count":12,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-03-25T02:39:58.807Z","etag":null,"topics":["java","java-8","merge-sort","mergesort","museum","museum-collections","sort","sorting","sorting-algorithms","sorting-algorithms-comparison","sorting-algorithms-implemented"],"latest_commit_sha":null,"homepage":"https://hoangsonww.github.io/Sorting-Algorithms-DSA/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hoangsonww.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-03T23:40:36.000Z","updated_at":"2025-03-23T04:49:51.000Z","dependencies_parsed_at":"2024-04-25T17:52:18.811Z","dependency_job_id":"182f2ffc-3a8a-427e-8445-80680e27cf66","html_url":"https://github.com/hoangsonww/Sorting-Algorithms-DSA","commit_stats":null,"previous_names":["hoangsonww/sorting-algorithms-dsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoangsonww%2FSorting-Algorithms-DSA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoangsonww%2FSorting-Algorithms-DSA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoangsonww%2FSorting-Algorithms-DSA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoangsonww%2FSorting-Algorithms-DSA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoangsonww","download_url":"https://codeload.github.com/hoangsonww/Sorting-Algorithms-DSA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345202,"owners_count":21088231,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","java-8","merge-sort","mergesort","museum","museum-collections","sort","sorting","sorting-algorithms","sorting-algorithms-comparison","sorting-algorithms-implemented"],"created_at":"2024-11-14T12:40:26.437Z","updated_at":"2025-04-11T04:32:45.483Z","avatar_url":"https://github.com/hoangsonww.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Art Museum Sorting Application\n\n## Overview\nThis Java application is designed to manage and manipulate the artwork database of the Cleveland Museum of Art. It supports fundamental functionalities such as adding artworks to the database, sorting artworks based on various attributes (e.g., height, price, width, name, artistName), and generating random lists of artworks. The application utilizes advanced sorting algorithms, including Merge Sort, to efficiently organize the artworks.\n\n## Features\n- Add new artwork entries to the museum's database.\n- Sort the artworks based on specified attributes in ascending or descending order using Merge Sort, a highly efficient sorting algorithm.\n- Generate random lists of artwork for display or analysis.\n- Find artworks by a specific artist.\n- Implement a specialized random sort that organizes artworks into categories based on multiple attributes.\n\n## Prerequisites\n- Java Development Kit (JDK) 11 or higher.\n- A Java IDE (e.g. IntelliJ or Eclipse) is highly recommended.\n\n## Setup and Installation\n1. Ensure Java is installed on your system. You can download JDK from the [Oracle website](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html).\n2. Clone this repository to your local machine using `git clone https://github.com/hoangsonww/Sorting-Algorithms-DSA.git`.\n3. Compile the Java files from your terminal or command prompt:\n    ```bash\n    javac ArtMuseum.java Art.java\n    ```\n4. Run the application:\n    ```bash\n    java ArtMuseum\n    ```\n5. There is also a comprehensive testing file, created with JUnit. Feel free to run it to test through the program:\n   ```bash\n   java Tester\n   ```\n\nOr, you can simplify these steps with a Java-supported IDE such as IntelliJ IDEA!\n\n## Usage\n### Adding Artworks\nTo add artworks to the database, you'll need to instantiate `Art` objects and add them to an `ArtMuseum` instance using the `add` method.\n\n### Sorting Artworks\nYou can sort the museum's artwork database by invoking the `sort` method on an `ArtMuseum` instance, specifying the attribute to sort by (e.g., `height`, `price`, `width`, `name`, `artistName`) and the direction of the sort (`positive` for ascending, `negative` for descending).\n\n### Generating Random Art Lists\nInvoke the `randomizeArts` method on an `ArtMuseum` instance, specifying the number of random artworks to generate.\n\n### Finding Artworks by Artist\nUse the `findArts` method to retrieve all artworks by a specific artist from the museum's database.\n\n## Contributing\nContributions to the project are welcome. Please fork the repository, make your changes, and submit a pull request with a detailed description of your additions or changes.\n\n---\n\nCreated with ❤️ by [Son Nguyen](https://github.com/hoangsonww) in 2023.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoangsonww%2Fsorting-algorithms-dsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoangsonww%2Fsorting-algorithms-dsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoangsonww%2Fsorting-algorithms-dsa/lists"}