├── .gitignore ├── README.md ├── infinitest.args ├── pom.xml └── src ├── main └── java │ └── com │ └── nastra │ ├── algorithms │ ├── ConvexHull.java │ ├── Factorial.java │ ├── Fraction.java │ ├── Isomorphic.java │ ├── Knapsack.java │ ├── LevenshteinDistance.java │ ├── PalindromeChecker.java │ ├── PrintParentheses.java │ ├── Random.java │ ├── SolutionFacebook.java │ ├── TwoSumSolver.java │ ├── dp │ │ ├── BinomialCoefficient.java │ │ ├── CoinChange.java │ │ ├── EditDistance.java │ │ ├── KnapsackZeroOne.java │ │ ├── LongestCommonSubsequence.java │ │ ├── LongestIncreasingSubsequence.java │ │ ├── MinCoins.java │ │ ├── MinCostPath.java │ │ ├── RodCutting.java │ │ └── SubsetSum.java │ ├── graph │ │ ├── AllPairShortestPaths.java │ │ ├── ConstraintChecker.java │ │ ├── CycleFinder.java │ │ ├── DepthFirstOrder.java │ │ ├── Dijkstra.java │ │ ├── KruskalMST.java │ │ ├── LazyPrimMST.java │ │ ├── MaxSpacingKClustering.java │ │ └── TopologicalSorter.java │ ├── heap │ │ ├── RunningMedian.java │ │ └── TopElements.java │ ├── permutation │ │ ├── HeapPermute.java │ │ ├── Permutations.java │ │ ├── Permute.java │ │ └── StringPermutationIterable.java │ ├── search │ │ ├── ArraySearch.java │ │ ├── FindMissingInteger.java │ │ ├── FindUnsortedSubsequence.java │ │ ├── LargestSum.java │ │ ├── LonelyIntegerSearch.java │ │ ├── LongestIncreasingSubsequence.java │ │ ├── OrderStatistic.java │ │ ├── Power.java │ │ ├── SquareRoot.java │ │ ├── SuffixArray.java │ │ └── SuffixAutomata.java │ ├── set │ │ ├── PowerSetGenerator.java │ │ └── SubSetGenerator.java │ ├── sorting │ │ ├── Inversions.java │ │ ├── Merge.java │ │ ├── MergingKSortedArrays.java │ │ ├── Quick.java │ │ └── SortUtil.java │ ├── stack │ │ ├── ArithmeticExpressionEvaluator.java │ │ ├── InfixToPostfixTranslator.java │ │ ├── ParenthesesChecker.java │ │ ├── StackReverser.java │ │ └── StackSorter.java │ └── tree │ │ ├── BSTChecker.java │ │ ├── FenwickTree.java │ │ ├── LinkedListFromLeavesOfBinaryTree.java │ │ └── MorrisTraversal.java │ ├── datastructures │ ├── ChainingMap.java │ ├── CircularIntArray.java │ ├── ConnectedComponentsFinder.java │ ├── Deque.java │ ├── Digraph.java │ ├── DirectedEdge.java │ ├── Edge.java │ ├── EdgeWeightedDigraph.java │ ├── EdgeWeightedGraph.java │ ├── FenwickTree.java │ ├── Graph.java │ ├── IndexMinPQ.java │ ├── Interval.java │ ├── IntervalTree.java │ ├── KeyValueList.java │ ├── KeyValueNode.java │ ├── LRUCache.java │ ├── ListNode.java │ ├── MaxPQ.java │ ├── MedianHeap.java │ ├── MinPQ.java │ ├── QueueWithMax.java │ ├── RandomAccessList.java │ ├── RandomizedQueue.java │ ├── SegmentTreeForRangeMax.java │ ├── SegmentTreeForRangeMaxLazyPropagation.java │ ├── SegmentTreeForRangeSum.java │ ├── StdRandom.java │ ├── TreeNode.java │ ├── Trie.java │ └── UnionFind.java │ └── systemdesign │ ├── callcenter │ ├── Call.java │ ├── CallHandler.java │ ├── Caller.java │ └── Employee.java │ ├── filesystem │ ├── Directory.java │ ├── File.java │ ├── FileEntry.java │ └── Question.java │ └── parkinglot │ ├── ParkingLot.java │ ├── SpotSize.java │ └── Vehicle.java └── test └── java └── com └── nastra ├── algorithms ├── ArithmeticExpressionEvaluatorTest.java ├── ArraySearchTest.java ├── FindMissingIntegerTest.java ├── FindUnsortedSubsequenceTest.java ├── HeapPermuteTest.java ├── InfixToPostfixTranslatorTest.java ├── InversionsTest.java ├── IsomorphicTest.java ├── LargestSumTester.java ├── LevenshteinDistanceTest.java ├── LonelyIntegerSearchTest.java ├── LongestIncreasingSubsequenceTest.java ├── MergeTest.java ├── MergingKSortedArraysTest.java ├── MinCoinsTest.java ├── OrderStatisticTest.java ├── PQTest.java ├── PalindromeCheckerTest.java ├── ParenthesesCheckerTest.java ├── PermutationTest.java ├── PowerTest.java ├── QueueWithMaxTest.java ├── QuickSortTest.java ├── RandomTest.java ├── SquareRootTest.java ├── StackReverserTest.java ├── StackSorterTest.java ├── SubSetGeneratorTest.java ├── TopElementsTest.java └── TwoSumTester.java └── datastructures ├── CircularIntArrayTest.java ├── DequeTest.java └── RandomizedQueueTest.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/README.md -------------------------------------------------------------------------------- /infinitest.args: -------------------------------------------------------------------------------- 1 | -mx512m -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/ConvexHull.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/ConvexHull.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/Factorial.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/Factorial.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/Fraction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/Fraction.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/Isomorphic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/Isomorphic.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/Knapsack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/Knapsack.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/LevenshteinDistance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/LevenshteinDistance.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/PalindromeChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/PalindromeChecker.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/PrintParentheses.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/PrintParentheses.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/Random.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/Random.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/SolutionFacebook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/SolutionFacebook.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/TwoSumSolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/TwoSumSolver.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/BinomialCoefficient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/BinomialCoefficient.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/CoinChange.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/CoinChange.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/EditDistance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/EditDistance.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/KnapsackZeroOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/KnapsackZeroOne.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/LongestCommonSubsequence.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/LongestCommonSubsequence.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/LongestIncreasingSubsequence.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/LongestIncreasingSubsequence.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/MinCoins.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/MinCoins.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/MinCostPath.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/MinCostPath.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/RodCutting.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/RodCutting.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/dp/SubsetSum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/dp/SubsetSum.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/AllPairShortestPaths.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/AllPairShortestPaths.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/ConstraintChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/ConstraintChecker.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/CycleFinder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/CycleFinder.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/DepthFirstOrder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/DepthFirstOrder.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/Dijkstra.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/Dijkstra.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/KruskalMST.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/KruskalMST.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/LazyPrimMST.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/LazyPrimMST.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/MaxSpacingKClustering.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/MaxSpacingKClustering.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/graph/TopologicalSorter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/graph/TopologicalSorter.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/heap/RunningMedian.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/heap/RunningMedian.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/heap/TopElements.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/heap/TopElements.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/permutation/HeapPermute.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/permutation/HeapPermute.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/permutation/Permutations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/permutation/Permutations.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/permutation/Permute.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/permutation/Permute.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/permutation/StringPermutationIterable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/permutation/StringPermutationIterable.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/ArraySearch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/ArraySearch.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/FindMissingInteger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/FindMissingInteger.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/FindUnsortedSubsequence.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/FindUnsortedSubsequence.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/LargestSum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/LargestSum.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/LonelyIntegerSearch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/LonelyIntegerSearch.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/LongestIncreasingSubsequence.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/LongestIncreasingSubsequence.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/OrderStatistic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/OrderStatistic.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/Power.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/Power.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/SquareRoot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/SquareRoot.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/SuffixArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/SuffixArray.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/search/SuffixAutomata.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/search/SuffixAutomata.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/set/PowerSetGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/set/PowerSetGenerator.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/set/SubSetGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/set/SubSetGenerator.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/sorting/Inversions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/sorting/Inversions.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/sorting/Merge.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/sorting/Merge.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/sorting/MergingKSortedArrays.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/sorting/MergingKSortedArrays.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/sorting/Quick.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/sorting/Quick.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/sorting/SortUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/sorting/SortUtil.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/stack/ArithmeticExpressionEvaluator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/stack/ArithmeticExpressionEvaluator.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/stack/InfixToPostfixTranslator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/stack/InfixToPostfixTranslator.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/stack/ParenthesesChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/stack/ParenthesesChecker.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/stack/StackReverser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/stack/StackReverser.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/stack/StackSorter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/stack/StackSorter.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/tree/BSTChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/tree/BSTChecker.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/tree/FenwickTree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/tree/FenwickTree.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/tree/LinkedListFromLeavesOfBinaryTree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/tree/LinkedListFromLeavesOfBinaryTree.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/algorithms/tree/MorrisTraversal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/algorithms/tree/MorrisTraversal.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/ChainingMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/ChainingMap.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/CircularIntArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/CircularIntArray.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/ConnectedComponentsFinder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/ConnectedComponentsFinder.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/Deque.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/Deque.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/Digraph.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/Digraph.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/DirectedEdge.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/DirectedEdge.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/Edge.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/Edge.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/EdgeWeightedDigraph.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/EdgeWeightedDigraph.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/EdgeWeightedGraph.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/EdgeWeightedGraph.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/FenwickTree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/FenwickTree.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/Graph.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/Graph.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/IndexMinPQ.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/IndexMinPQ.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/Interval.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/Interval.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/IntervalTree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/IntervalTree.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/KeyValueList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/KeyValueList.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/KeyValueNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/KeyValueNode.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/LRUCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/LRUCache.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/ListNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/ListNode.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/MaxPQ.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/MaxPQ.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/MedianHeap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/MedianHeap.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/MinPQ.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/MinPQ.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/QueueWithMax.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/QueueWithMax.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/RandomAccessList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/RandomAccessList.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/RandomizedQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/RandomizedQueue.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/SegmentTreeForRangeMax.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/SegmentTreeForRangeMax.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/SegmentTreeForRangeMaxLazyPropagation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/SegmentTreeForRangeMaxLazyPropagation.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/SegmentTreeForRangeSum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/SegmentTreeForRangeSum.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/StdRandom.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/StdRandom.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/TreeNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/TreeNode.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/Trie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/Trie.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/datastructures/UnionFind.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/datastructures/UnionFind.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/callcenter/Call.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/callcenter/Call.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/callcenter/CallHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/callcenter/CallHandler.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/callcenter/Caller.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/callcenter/Caller.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/callcenter/Employee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/callcenter/Employee.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/filesystem/Directory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/filesystem/Directory.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/filesystem/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/filesystem/File.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/filesystem/FileEntry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/filesystem/FileEntry.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/filesystem/Question.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/filesystem/Question.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/parkinglot/ParkingLot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/parkinglot/ParkingLot.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/parkinglot/SpotSize.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/parkinglot/SpotSize.java -------------------------------------------------------------------------------- /src/main/java/com/nastra/systemdesign/parkinglot/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/main/java/com/nastra/systemdesign/parkinglot/Vehicle.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/ArithmeticExpressionEvaluatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/ArithmeticExpressionEvaluatorTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/ArraySearchTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/ArraySearchTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/FindMissingIntegerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/FindMissingIntegerTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/FindUnsortedSubsequenceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/FindUnsortedSubsequenceTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/HeapPermuteTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/HeapPermuteTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/InfixToPostfixTranslatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/InfixToPostfixTranslatorTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/InversionsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/InversionsTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/IsomorphicTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/IsomorphicTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/LargestSumTester.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/LargestSumTester.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/LevenshteinDistanceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/LevenshteinDistanceTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/LonelyIntegerSearchTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/LonelyIntegerSearchTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/LongestIncreasingSubsequenceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/LongestIncreasingSubsequenceTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/MergeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/MergeTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/MergingKSortedArraysTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/MergingKSortedArraysTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/MinCoinsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/MinCoinsTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/OrderStatisticTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/OrderStatisticTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/PQTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/PQTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/PalindromeCheckerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/PalindromeCheckerTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/ParenthesesCheckerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/ParenthesesCheckerTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/PermutationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/PermutationTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/PowerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/PowerTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/QueueWithMaxTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/QueueWithMaxTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/QuickSortTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/QuickSortTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/RandomTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/RandomTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/SquareRootTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/SquareRootTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/StackReverserTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/StackReverserTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/StackSorterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/StackSorterTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/SubSetGeneratorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/SubSetGeneratorTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/TopElementsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/TopElementsTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/algorithms/TwoSumTester.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/algorithms/TwoSumTester.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/datastructures/CircularIntArrayTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/datastructures/CircularIntArrayTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/datastructures/DequeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/datastructures/DequeTest.java -------------------------------------------------------------------------------- /src/test/java/com/nastra/datastructures/RandomizedQueueTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nastra/algorithms-java/HEAD/src/test/java/com/nastra/datastructures/RandomizedQueueTest.java --------------------------------------------------------------------------------