{"id":16544883,"url":"https://github.com/anthonynsimon/java-ds-algorithms","last_synced_at":"2025-03-16T19:32:26.738Z","repository":{"id":46126902,"uuid":"56716153","full_name":"anthonynsimon/java-ds-algorithms","owner":"anthonynsimon","description":"Data Structures and Algorithms in Java","archived":false,"fork":false,"pushed_at":"2020-10-01T06:35:30.000Z","size":247,"stargazers_count":125,"open_issues_count":2,"forks_count":28,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-15T02:45:19.280Z","etag":null,"topics":["algorithm","dijkstra","graph","hash-map","java","matrix","palindrome","permutation","sort","stack","strings","tree","trie"],"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/anthonynsimon.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}},"created_at":"2016-04-20T19:42:37.000Z","updated_at":"2023-08-03T07:09:47.000Z","dependencies_parsed_at":"2022-09-11T16:11:26.778Z","dependency_job_id":null,"html_url":"https://github.com/anthonynsimon/java-ds-algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonynsimon%2Fjava-ds-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonynsimon%2Fjava-ds-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonynsimon%2Fjava-ds-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonynsimon%2Fjava-ds-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anthonynsimon","download_url":"https://codeload.github.com/anthonynsimon/java-ds-algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243826797,"owners_count":20354221,"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":["algorithm","dijkstra","graph","hash-map","java","matrix","palindrome","permutation","sort","stack","strings","tree","trie"],"created_at":"2024-10-11T19:04:59.652Z","updated_at":"2025-03-16T19:32:26.455Z","avatar_url":"https://github.com/anthonynsimon.png","language":"Java","readme":"# Data Structures and Algorithms in Java\n[![Build Status](https://travis-ci.org/anthonynsimon/java-ds-algorithms.svg?branch=master)](https://travis-ci.org/anthonynsimon/java-ds-algorithms)\n[![Test Coverage](https://codecov.io/gh/anthonynsimon/java-ds-algorithms/branch/master/graph/badge.svg)](https://codecov.io/gh/anthonynsimon/java-ds-algorithms)\n\n\nTrying out various DS and Algorithms for learning purposes and to refresh my Java skills.\n\nAll with their corresponding tests. [Go to tests root directory](/src/test/java/com/anthonynsimon/)\n\n## Data Structures:\n- [Prefix Tree (Trie)](/src/main/java/com/anthonynsimon/datastructures/Trie.java)\n- [Singly Linked List](/src/main/java/com/anthonynsimon/datastructures/LinkedList.java)\n- [Stack](/src/main/java/com/anthonynsimon/datastructures/Stack.java)\n- [Queue](/src/main/java/com/anthonynsimon/datastructures/Queue.java)\n- [Dynamic Array](/src/main/java/com/anthonynsimon/datastructures/DynamicArray.java)\n- [Multi Stack in Array](/src/main/java/com/anthonynsimon/datastructures/MultiStackArray.java)\n- [HashTable](/src/main/java/com/anthonynsimon/datastructures/HashTable.java)\n- [Binary Search Tree](/src/main/java/com/anthonynsimon/datastructures/BinarySearchTree.java)\n- [Undirected Graph](/src/main/java/com/anthonynsimon/datastructures/Graph.java)\n- [Priority Queue using min-heap](/src/main/java/com/anthonynsimon/datastructures/PriorityQueue.java)\n\n## Algorithms:\n### Trees\n- [Build a minimum height tree from an unsorted/sorted array](/src/main/java/com/anthonynsimon/algorithms/trees/BuildMinHeightTree.java)\n- [Build list of lists that each contain the tree nodes per height level](/src/main/java/com/anthonynsimon/algorithms/trees/BinaryTreeToLists.java)\n- [Check if tree is BST](/src/main/java/com/anthonynsimon/algorithms/trees/CheckBst.java)\n- [Find the in-order successor of a node in a tree](/src/main/java/com/anthonynsimon/algorithms/trees/SuccessorFinder.java)\n- [Recursively calculate height and balance of tree in one pass](/src/main/java/com/anthonynsimon/algorithms/trees/CheckTreeBalance.java)\n- [Autocomplete a word using a Trie](/src/main/java/com/anthonynsimon/algorithms/trees/WordAutocompletion.java)\n\n### Arrays\n- [In-place matrix rotation](/src/main/java/com/anthonynsimon/algorithms/arrays/MatrixRotation.java)\n- [Nullify rows and columns in matrix](/src/main/java/com/anthonynsimon/algorithms/arrays/NullifyMatrix.java)\n\n### Stacks and Queues\n- [Find minimum value in Stack](/src/main/java/com/anthonynsimon/algorithms/stacksqueues/MinStack.java)\n- [Stack of Stacks](/src/main/java/com/anthonynsimon/algorithms/stacksqueues/StackOfStacks.java)\n- [Queue via Stacks](/src/main/java/com/anthonynsimon/algorithms/stacksqueues/QueueViaStacks.java)\n- [Sort stack by using another stack](/src/main/java/com/anthonynsimon/algorithms/stacksqueues/StackSorter.java)\n\n### Sorting\n- [Quick Sort](/src/main/java/com/anthonynsimon/algorithms/sorts/QuickSort.java)\n- [Merge Sort](/src/main/java/com/anthonynsimon/algorithms/sorts/MergeSort.java)\n- [Bubble Sort](/src/main/java/com/anthonynsimon/algorithms/sorts/BubbleSort.java)\n\n### Strings\n- [String has unique characters](/src/main/java/com/anthonynsimon/algorithms/strings/UniqueCharacters.java)\n- [Check if string is permutation of another](/src/main/java/com/anthonynsimon/algorithms/strings/PermutationMatch.java)\n- [URLify string](/src/main/java/com/anthonynsimon/algorithms/strings/Urlifier.java)\n- [Reverse string](/src/main/java/com/anthonynsimon/algorithms/strings/Reverser.java)\n- [Check if string is permutation of a palindrome](/src/main/java/com/anthonynsimon/algorithms/strings/PermutationPalindrome.java)\n- [Check if string is palindrome](/src/main/java/com/anthonynsimon/algorithms/strings/PalindromeChecker.java)\n- [String sanitizer](/src/main/java/com/anthonynsimon/algorithms/strings/Sanitizer.java)\n- [Check if strings have more than one edit](/src/main/java/com/anthonynsimon/algorithms/strings/DiffChecker.java)\n- [Basic string compression](/src/main/java/com/anthonynsimon/algorithms/strings/StringCompressor.java)\n\n### Linked Lists\n- [Remove duplicate values](/src/main/java/com/anthonynsimon/algorithms/lists/RemoveListDuplicates.java)\n- [Find a the start of a loop in a linked list](/src/main/java/com/anthonynsimon/algorithms/lists/ListLoopChecker.java)\n- [Find Kth to last element (unknown list size)](/src/main/java/com/anthonynsimon/algorithms/lists/FindKthToLast.java)\n- [Partition list in place](/src/main/java/com/anthonynsimon/algorithms/lists/PartitionList.java)\n- [Check if list is palindrome](/src/main/java/com/anthonynsimon/algorithms/lists/ListPalindromeChecker.java)\n- [Find intersection of two lists](/src/main/java/com/anthonynsimon/algorithms/lists/ListIntersection.java)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonynsimon%2Fjava-ds-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonynsimon%2Fjava-ds-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonynsimon%2Fjava-ds-algorithms/lists"}