{"id":16112652,"url":"https://github.com/micaellobo/data-structures","last_synced_at":"2025-07-11T16:03:17.920Z","repository":{"id":174535608,"uuid":"614615623","full_name":"micaellobo/data-structures","owner":"micaellobo","description":"Implementation of several data structures and sorting algorithm with Java ","archived":false,"fork":false,"pushed_at":"2023-09-03T18:15:04.000Z","size":194,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T07:24:29.457Z","etag":null,"topics":["data-structures","java","searching-algorithms","sorting-algorithms"],"latest_commit_sha":null,"homepage":"","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/micaellobo.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}},"created_at":"2023-03-16T00:36:14.000Z","updated_at":"2025-01-29T00:32:33.000Z","dependencies_parsed_at":"2025-02-12T12:44:28.201Z","dependency_job_id":"618b2b70-21b0-476f-8cb8-1e138c9aef63","html_url":"https://github.com/micaellobo/data-structures","commit_stats":null,"previous_names":["micaellobo/data-structures"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/micaellobo/data-structures","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micaellobo%2Fdata-structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micaellobo%2Fdata-structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micaellobo%2Fdata-structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micaellobo%2Fdata-structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micaellobo","download_url":"https://codeload.github.com/micaellobo/data-structures/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micaellobo%2Fdata-structures/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264849646,"owners_count":23673223,"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":["data-structures","java","searching-algorithms","sorting-algorithms"],"created_at":"2024-10-09T20:08:48.794Z","updated_at":"2025-07-11T16:03:17.870Z","avatar_url":"https://github.com/micaellobo.png","language":"Java","readme":"# Data Structures and Sorting Algorithms in Java\n\nThis project contains a collection of data structures as well as sorting and searching algorithms implemented in `Java`.\n\nThis was developed from scratch, without the use of any external libraries or packages. Only used the `Iterator` interface from the `java.util` package to implement the iterator pattern, as it provides a standard way of iterating over collections. \n\n### Minimalist Class Diagram\n\n![Minimalist Class Diagram](class-diagram.png \"Minimalist Class Diagram\")\n\n## Data Structures\n\n- [Graph](/src/main/java/com/example/graph), implemented with linked lists\n    - [Network Directed](/src/main/java/com/example/graph/NetworkDirected.java) with  [Dijkstra's](/src/main/java/com/example/graph/NetworkDirected.java#L206-L261) for shortest path\n    - [Network Undirected](/src/main/java/com/example/graph/NetworkUndirected.java)\n    - [Graph Directed](/src/main/java/com/example/graph/GraphDirected.java)\n    - [Graph Undirected](/src/main/java/com/example/graph/GraphUndirected.java)\n- [Binary Search Tree](/src/main/java/com/example/binaryTree/LinkedBinarySearchTree.java) (AVL Tree)\n- Heap\n    - [Linked Min Heap](/src/main/java/com/example/binaryTree/LinkedHeapMin.java)\n    - [Linked Max Heap](/src/main/java/com/example/binaryTree/LinkedHeapMax.java)\n    - [Array Min Heap](/src/main/java/com/example/arrayBinaryTree/ArrayHeapMin.java)\n- List, with [Iterator](/src/main/java/com/example/list/LinkedUnorderedList.java#L250-L289) pattern implemented \n    - [Linked Ordered List](/src/main/java/com/example/list/LinkedOrderedList.java)\n    - [Linked Unordered List](/src/main/java/com/example/list/LinkedUnorderedList.java)\n    - [Double Linked Ordered List](/src/main/java/com/example/doubleLinkedList/DoubleLinkedOrderedList.java)\n    - [Double Linked Unordered List](/src/main/java/com/example/doubleLinkedList/DoubleLinkedUnorderedList.java)\n    - [Array Ordered List](/src/main/java/com/example/arrayList/ArrayOrderedList.java)\n    - [Array Unordered List](/src/main/java/com/example/arrayList/ArrayUnorderedList.java)\n- Queue\n    - [Priority Queue](/src/main/java/com/example/arrayBinaryTree/PriorityArrayQueue.java)\n    - [Circular Array Queue](/src/main/java/com/example/arrayQueue/CircularArrayQueue.java)\n    - [Linked Queue](/src/main/java/com/example/queue/LinkedQueue.java)\n- Stack\n    - [Linked Stack](/src/main/java/com/example/stack/LinkedStack.java)\n    - [Array Stack](/src/main/java/com/example/arrayStack/ArrayStack.java)\n\n## Sorting Algorithms\n\n- [Quick sort](/src/main/java/com/example/sortingAndSearching/Sorting.java#L70-L125)\n- [Merge sort](/src/main/java/com/example/sortingAndSearching/Sorting.java#L127-L182)\n- [Heap sort](/src/main/java/com/example/sortingAndSearching/Sorting.java#L184-L232)\n- [Bubble sort](/src/main/java/com/example/sortingAndSearching/Sorting.java#L49-L68)\n- [Insertion sort](/src/main/java/com/example/sortingAndSearching/Sorting.java#L30-L47)\n- [Selection sort](/src/main/java/com/example/sortingAndSearching/Sorting.java#L8-L28)\n\n## Searching Algorithms\n\n- [Linear Search](/src/main/java/com/example/sortingAndSearching/Searching.java#L6-L20)\n- [Binary Search](/src/main/java/com/example/sortingAndSearching/Searching.java#L22-L59)\n- [Depth First Search](/src/main/java/com/example/graph/NetworkDirected.java#L157-L193)\n- [Breadth First Search](/src/main/java/com/example/graph/NetworkDirected.java#L288-L317)\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicaellobo%2Fdata-structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicaellobo%2Fdata-structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicaellobo%2Fdata-structures/lists"}