# Project Structure
## src
- **main**
- **java**
- **com**
- **thealgorithms**
- **audiofilters**
- [EMAFilter](src/main/java/com/thealgorithms/audiofilters/EMAFilter.java)
- [IIRFilter](src/main/java/com/thealgorithms/audiofilters/IIRFilter.java)
- **backtracking**
- [AllPathsFromSourceToTarget](src/main/java/com/thealgorithms/backtracking/AllPathsFromSourceToTarget.java)
- [ArrayCombination](src/main/java/com/thealgorithms/backtracking/ArrayCombination.java)
- [Combination](src/main/java/com/thealgorithms/backtracking/Combination.java)
- [CombinationSum](src/main/java/com/thealgorithms/backtracking/CombinationSum.java)
- [CrosswordSolver](src/main/java/com/thealgorithms/backtracking/CrosswordSolver.java)
- [FloodFill](src/main/java/com/thealgorithms/backtracking/FloodFill.java)
- [KnightsTour](src/main/java/com/thealgorithms/backtracking/KnightsTour.java)
- [MColoring](src/main/java/com/thealgorithms/backtracking/MColoring.java)
- [MazeRecursion](src/main/java/com/thealgorithms/backtracking/MazeRecursion.java)
- [NQueens](src/main/java/com/thealgorithms/backtracking/NQueens.java)
- [ParenthesesGenerator](src/main/java/com/thealgorithms/backtracking/ParenthesesGenerator.java)
- [Permutation](src/main/java/com/thealgorithms/backtracking/Permutation.java)
- [PowerSum](src/main/java/com/thealgorithms/backtracking/PowerSum.java)
- [SubsequenceFinder](src/main/java/com/thealgorithms/backtracking/SubsequenceFinder.java)
- [SudokuSolver](src/main/java/com/thealgorithms/backtracking/SudokuSolver.java)
- [UniquePermutation](src/main/java/com/thealgorithms/backtracking/UniquePermutation.java)
- [WordPatternMatcher](src/main/java/com/thealgorithms/backtracking/WordPatternMatcher.java)
- [WordSearch](src/main/java/com/thealgorithms/backtracking/WordSearch.java)
- **bitmanipulation**
- [BcdConversion](src/main/java/com/thealgorithms/bitmanipulation/BcdConversion.java)
- [BinaryPalindromeCheck](src/main/java/com/thealgorithms/bitmanipulation/BinaryPalindromeCheck.java)
- [BitRotate](src/main/java/com/thealgorithms/bitmanipulation/BitRotate.java)
- [BitSwap](src/main/java/com/thealgorithms/bitmanipulation/BitSwap.java)
- [BitwiseGCD](src/main/java/com/thealgorithms/bitmanipulation/BitwiseGCD.java)
- [BooleanAlgebraGates](src/main/java/com/thealgorithms/bitmanipulation/BooleanAlgebraGates.java)
- [ClearLeftmostSetBit](src/main/java/com/thealgorithms/bitmanipulation/ClearLeftmostSetBit.java)
- [CountBitsFlip](src/main/java/com/thealgorithms/bitmanipulation/CountBitsFlip.java)
- [CountLeadingZeros](src/main/java/com/thealgorithms/bitmanipulation/CountLeadingZeros.java)
- [CountSetBits](src/main/java/com/thealgorithms/bitmanipulation/CountSetBits.java)
- [FindNthBit](src/main/java/com/thealgorithms/bitmanipulation/FindNthBit.java)
- [FirstDifferentBit](src/main/java/com/thealgorithms/bitmanipulation/FirstDifferentBit.java)
- [GenerateSubsets](src/main/java/com/thealgorithms/bitmanipulation/GenerateSubsets.java)
- [GrayCodeConversion](src/main/java/com/thealgorithms/bitmanipulation/GrayCodeConversion.java)
- [HammingDistance](src/main/java/com/thealgorithms/bitmanipulation/HammingDistance.java)
- [HigherLowerPowerOfTwo](src/main/java/com/thealgorithms/bitmanipulation/HigherLowerPowerOfTwo.java)
- [HighestSetBit](src/main/java/com/thealgorithms/bitmanipulation/HighestSetBit.java)
- [IndexOfRightMostSetBit](src/main/java/com/thealgorithms/bitmanipulation/IndexOfRightMostSetBit.java)
- [IsEven](src/main/java/com/thealgorithms/bitmanipulation/IsEven.java)
- [IsPowerTwo](src/main/java/com/thealgorithms/bitmanipulation/IsPowerTwo.java)
- [LowestSetBit](src/main/java/com/thealgorithms/bitmanipulation/LowestSetBit.java)
- [ModuloPowerOfTwo](src/main/java/com/thealgorithms/bitmanipulation/ModuloPowerOfTwo.java)
- [NextHigherSameBitCount](src/main/java/com/thealgorithms/bitmanipulation/NextHigherSameBitCount.java)
- [NonRepeatingNumberFinder](src/main/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinder.java)
- [NumberAppearingOddTimes](src/main/java/com/thealgorithms/bitmanipulation/NumberAppearingOddTimes.java)
- [NumbersDifferentSigns](src/main/java/com/thealgorithms/bitmanipulation/NumbersDifferentSigns.java)
- [OneBitDifference](src/main/java/com/thealgorithms/bitmanipulation/OneBitDifference.java)
- [OnesComplement](src/main/java/com/thealgorithms/bitmanipulation/OnesComplement.java)
- [ParityCheck](src/main/java/com/thealgorithms/bitmanipulation/ParityCheck.java)
- [ReverseBits](src/main/java/com/thealgorithms/bitmanipulation/ReverseBits.java)
- [SingleBitOperations](src/main/java/com/thealgorithms/bitmanipulation/SingleBitOperations.java)
- [SingleElement](src/main/java/com/thealgorithms/bitmanipulation/SingleElement.java)
- [SwapAdjacentBits](src/main/java/com/thealgorithms/bitmanipulation/SwapAdjacentBits.java)
- [TwosComplement](src/main/java/com/thealgorithms/bitmanipulation/TwosComplement.java)
- [Xs3Conversion](src/main/java/com/thealgorithms/bitmanipulation/Xs3Conversion.java)
- **ciphers**
- [ADFGVXCipher](src/main/java/com/thealgorithms/ciphers/ADFGVXCipher.java)
- [AES](src/main/java/com/thealgorithms/ciphers/AES.java)
- [AESEncryption](src/main/java/com/thealgorithms/ciphers/AESEncryption.java)
- [AffineCipher](src/main/java/com/thealgorithms/ciphers/AffineCipher.java)
- [AtbashCipher](src/main/java/com/thealgorithms/ciphers/AtbashCipher.java)
- [Autokey](src/main/java/com/thealgorithms/ciphers/Autokey.java)
- [BaconianCipher](src/main/java/com/thealgorithms/ciphers/BaconianCipher.java)
- [Blowfish](src/main/java/com/thealgorithms/ciphers/Blowfish.java)
- [Caesar](src/main/java/com/thealgorithms/ciphers/Caesar.java)
- [ColumnarTranspositionCipher](src/main/java/com/thealgorithms/ciphers/ColumnarTranspositionCipher.java)
- [DES](src/main/java/com/thealgorithms/ciphers/DES.java)
- [DiffieHellman](src/main/java/com/thealgorithms/ciphers/DiffieHellman.java)
- [ECC](src/main/java/com/thealgorithms/ciphers/ECC.java)
- [HillCipher](src/main/java/com/thealgorithms/ciphers/HillCipher.java)
- [MonoAlphabetic](src/main/java/com/thealgorithms/ciphers/MonoAlphabetic.java)
- [OneTimePadCipher](src/main/java/com/thealgorithms/ciphers/OneTimePadCipher.java)
- [PermutationCipher](src/main/java/com/thealgorithms/ciphers/PermutationCipher.java)
- [PlayfairCipher](src/main/java/com/thealgorithms/ciphers/PlayfairCipher.java)
- [Polybius](src/main/java/com/thealgorithms/ciphers/Polybius.java)
- [ProductCipher](src/main/java/com/thealgorithms/ciphers/ProductCipher.java)
- [RSA](src/main/java/com/thealgorithms/ciphers/RSA.java)
- [RailFenceCipher](src/main/java/com/thealgorithms/ciphers/RailFenceCipher.java)
- [SimpleSubCipher](src/main/java/com/thealgorithms/ciphers/SimpleSubCipher.java)
- [Vigenere](src/main/java/com/thealgorithms/ciphers/Vigenere.java)
- [XORCipher](src/main/java/com/thealgorithms/ciphers/XORCipher.java)
- **a5**
- [A5Cipher](src/main/java/com/thealgorithms/ciphers/a5/A5Cipher.java)
- [A5KeyStreamGenerator](src/main/java/com/thealgorithms/ciphers/a5/A5KeyStreamGenerator.java)
- [BaseLFSR](src/main/java/com/thealgorithms/ciphers/a5/BaseLFSR.java)
- [CompositeLFSR](src/main/java/com/thealgorithms/ciphers/a5/CompositeLFSR.java)
- [LFSR](src/main/java/com/thealgorithms/ciphers/a5/LFSR.java)
- [Utils](src/main/java/com/thealgorithms/ciphers/a5/Utils.java)
- **compression**
- [ArithmeticCoding](src/main/java/com/thealgorithms/compression/ArithmeticCoding.java)
- [BurrowsWheelerTransform](src/main/java/com/thealgorithms/compression/BurrowsWheelerTransform.java)
- [LZ77](src/main/java/com/thealgorithms/compression/LZ77.java)
- [LZ78](src/main/java/com/thealgorithms/compression/LZ78.java)
- [LZW](src/main/java/com/thealgorithms/compression/LZW.java)
- [MoveToFront](src/main/java/com/thealgorithms/compression/MoveToFront.java)
- [RunLengthEncoding](src/main/java/com/thealgorithms/compression/RunLengthEncoding.java)
- [ShannonFano](src/main/java/com/thealgorithms/compression/ShannonFano.java)
- **conversions**
- [AffineConverter](src/main/java/com/thealgorithms/conversions/AffineConverter.java)
- [AnyBaseToAnyBase](src/main/java/com/thealgorithms/conversions/AnyBaseToAnyBase.java)
- [AnyBaseToDecimal](src/main/java/com/thealgorithms/conversions/AnyBaseToDecimal.java)
- [AnytoAny](src/main/java/com/thealgorithms/conversions/AnytoAny.java)
- [Base64](src/main/java/com/thealgorithms/conversions/Base64.java)
- [BinaryToDecimal](src/main/java/com/thealgorithms/conversions/BinaryToDecimal.java)
- [BinaryToHexadecimal](src/main/java/com/thealgorithms/conversions/BinaryToHexadecimal.java)
- [BinaryToOctal](src/main/java/com/thealgorithms/conversions/BinaryToOctal.java)
- [CoordinateConverter](src/main/java/com/thealgorithms/conversions/CoordinateConverter.java)
- [DecimalToAnyBase](src/main/java/com/thealgorithms/conversions/DecimalToAnyBase.java)
- [DecimalToBinary](src/main/java/com/thealgorithms/conversions/DecimalToBinary.java)
- [DecimalToHexadecimal](src/main/java/com/thealgorithms/conversions/DecimalToHexadecimal.java)
- [DecimalToOctal](src/main/java/com/thealgorithms/conversions/DecimalToOctal.java)
- [EndianConverter](src/main/java/com/thealgorithms/conversions/EndianConverter.java)
- [HexToOct](src/main/java/com/thealgorithms/conversions/HexToOct.java)
- [HexaDecimalToBinary](src/main/java/com/thealgorithms/conversions/HexaDecimalToBinary.java)
- [HexaDecimalToDecimal](src/main/java/com/thealgorithms/conversions/HexaDecimalToDecimal.java)
- [IPConverter](src/main/java/com/thealgorithms/conversions/IPConverter.java)
- [IPv6Converter](src/main/java/com/thealgorithms/conversions/IPv6Converter.java)
- [IntegerToEnglish](src/main/java/com/thealgorithms/conversions/IntegerToEnglish.java)
- [IntegerToRoman](src/main/java/com/thealgorithms/conversions/IntegerToRoman.java)
- [MorseCodeConverter](src/main/java/com/thealgorithms/conversions/MorseCodeConverter.java)
- [NumberToWords](src/main/java/com/thealgorithms/conversions/NumberToWords.java)
- [OctalToBinary](src/main/java/com/thealgorithms/conversions/OctalToBinary.java)
- [OctalToDecimal](src/main/java/com/thealgorithms/conversions/OctalToDecimal.java)
- [OctalToHexadecimal](src/main/java/com/thealgorithms/conversions/OctalToHexadecimal.java)
- [PhoneticAlphabetConverter](src/main/java/com/thealgorithms/conversions/PhoneticAlphabetConverter.java)
- [RgbHsvConversion](src/main/java/com/thealgorithms/conversions/RgbHsvConversion.java)
- [RomanToInteger](src/main/java/com/thealgorithms/conversions/RomanToInteger.java)
- [TemperatureConverter](src/main/java/com/thealgorithms/conversions/TemperatureConverter.java)
- [TimeConverter](src/main/java/com/thealgorithms/conversions/TimeConverter.java)
- [TurkishToLatinConversion](src/main/java/com/thealgorithms/conversions/TurkishToLatinConversion.java)
- [UnitConversions](src/main/java/com/thealgorithms/conversions/UnitConversions.java)
- [UnitsConverter](src/main/java/com/thealgorithms/conversions/UnitsConverter.java)
- [WordsToNumber](src/main/java/com/thealgorithms/conversions/WordsToNumber.java)
- **datastructures**
- [Node](src/main/java/com/thealgorithms/datastructures/Node.java)
- **bags**
- [Bag](src/main/java/com/thealgorithms/datastructures/bags/Bag.java)
- **bloomfilter**
- [BloomFilter](src/main/java/com/thealgorithms/datastructures/bloomfilter/BloomFilter.java)
- **buffers**
- [CircularBuffer](src/main/java/com/thealgorithms/datastructures/buffers/CircularBuffer.java)
- **caches**
- [FIFOCache](src/main/java/com/thealgorithms/datastructures/caches/FIFOCache.java)
- [LFUCache](src/main/java/com/thealgorithms/datastructures/caches/LFUCache.java)
- [LIFOCache](src/main/java/com/thealgorithms/datastructures/caches/LIFOCache.java)
- [LRUCache](src/main/java/com/thealgorithms/datastructures/caches/LRUCache.java)
- [MRUCache](src/main/java/com/thealgorithms/datastructures/caches/MRUCache.java)
- [RRCache](src/main/java/com/thealgorithms/datastructures/caches/RRCache.java)
- **crdt**
- [GCounter](src/main/java/com/thealgorithms/datastructures/crdt/GCounter.java)
- [GSet](src/main/java/com/thealgorithms/datastructures/crdt/GSet.java)
- [LWWElementSet](src/main/java/com/thealgorithms/datastructures/crdt/LWWElementSet.java)
- [ORSet](src/main/java/com/thealgorithms/datastructures/crdt/ORSet.java)
- [PNCounter](src/main/java/com/thealgorithms/datastructures/crdt/PNCounter.java)
- [TwoPSet](src/main/java/com/thealgorithms/datastructures/crdt/TwoPSet.java)
- **disjointsetunion**
- [DisjointSetUnion](src/main/java/com/thealgorithms/datastructures/disjointsetunion/DisjointSetUnion.java)
- [DisjointSetUnionBySize](src/main/java/com/thealgorithms/datastructures/disjointsetunion/DisjointSetUnionBySize.java)
- [Node](src/main/java/com/thealgorithms/datastructures/disjointsetunion/Node.java)
- **dynamicarray**
- [DynamicArray](src/main/java/com/thealgorithms/datastructures/dynamicarray/DynamicArray.java)
- **graphs**
- [AStar](src/main/java/com/thealgorithms/datastructures/graphs/AStar.java)
- [BellmanFord](src/main/java/com/thealgorithms/datastructures/graphs/BellmanFord.java)
- [BipartiteGraphDFS](src/main/java/com/thealgorithms/datastructures/graphs/BipartiteGraphDFS.java)
- [BoruvkaAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/BoruvkaAlgorithm.java)
- [ConnectedComponent](src/main/java/com/thealgorithms/datastructures/graphs/ConnectedComponent.java)
- [Cycles](src/main/java/com/thealgorithms/datastructures/graphs/Cycles.java)
- [DialsAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/DialsAlgorithm.java)
- [DijkstraAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/DijkstraAlgorithm.java)
- [DijkstraOptimizedAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/DijkstraOptimizedAlgorithm.java)
- [EdmondsBlossomAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/EdmondsBlossomAlgorithm.java)
- [FloydWarshall](src/main/java/com/thealgorithms/datastructures/graphs/FloydWarshall.java)
- [FordFulkerson](src/main/java/com/thealgorithms/datastructures/graphs/FordFulkerson.java)
- [Graphs](src/main/java/com/thealgorithms/datastructures/graphs/Graphs.java)
- [HamiltonianCycle](src/main/java/com/thealgorithms/datastructures/graphs/HamiltonianCycle.java)
- [JohnsonsAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/JohnsonsAlgorithm.java)
- [KahnsAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/KahnsAlgorithm.java)
- [Kosaraju](src/main/java/com/thealgorithms/datastructures/graphs/Kosaraju.java)
- [Kruskal](src/main/java/com/thealgorithms/datastructures/graphs/Kruskal.java)
- [MatrixGraphs](src/main/java/com/thealgorithms/datastructures/graphs/MatrixGraphs.java)
- [PrimMST](src/main/java/com/thealgorithms/datastructures/graphs/PrimMST.java)
- [TarjansAlgorithm](src/main/java/com/thealgorithms/datastructures/graphs/TarjansAlgorithm.java)
- [TwoSat](src/main/java/com/thealgorithms/datastructures/graphs/TwoSat.java)
- [UndirectedAdjacencyListGraph](src/main/java/com/thealgorithms/datastructures/graphs/UndirectedAdjacencyListGraph.java)
- [WelshPowell](src/main/java/com/thealgorithms/datastructures/graphs/WelshPowell.java)
- **hashmap**
- **hashing**
- [GenericHashMapUsingArray](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/GenericHashMapUsingArray.java)
- [GenericHashMapUsingArrayList](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/GenericHashMapUsingArrayList.java)
- [HashMap](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/HashMap.java)
- [HashMapCuckooHashing](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/HashMapCuckooHashing.java)
- [ImmutableHashMap](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/ImmutableHashMap.java)
- [Intersection](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/Intersection.java)
- [LinearProbingHashMap](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/LinearProbingHashMap.java)
- [MainCuckooHashing](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MainCuckooHashing.java)
- [MajorityElement](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MajorityElement.java)
- [Map](src/main/java/com/thealgorithms/datastructures/hashmap/hashing/Map.java)
- **heaps**
- [EmptyHeapException](src/main/java/com/thealgorithms/datastructures/heaps/EmptyHeapException.java)
- [FibonacciHeap](src/main/java/com/thealgorithms/datastructures/heaps/FibonacciHeap.java)
- [GenericHeap](src/main/java/com/thealgorithms/datastructures/heaps/GenericHeap.java)
- [Heap](src/main/java/com/thealgorithms/datastructures/heaps/Heap.java)
- [HeapElement](src/main/java/com/thealgorithms/datastructures/heaps/HeapElement.java)
- [IndexedPriorityQueue](src/main/java/com/thealgorithms/datastructures/heaps/IndexedPriorityQueue.java)
- [KthElementFinder](src/main/java/com/thealgorithms/datastructures/heaps/KthElementFinder.java)
- [LeftistHeap](src/main/java/com/thealgorithms/datastructures/heaps/LeftistHeap.java)
- [MaxHeap](src/main/java/com/thealgorithms/datastructures/heaps/MaxHeap.java)
- [MedianFinder](src/main/java/com/thealgorithms/datastructures/heaps/MedianFinder.java)
- [MergeKSortedArrays](src/main/java/com/thealgorithms/datastructures/heaps/MergeKSortedArrays.java)
- [MinHeap](src/main/java/com/thealgorithms/datastructures/heaps/MinHeap.java)
- [MinPriorityQueue](src/main/java/com/thealgorithms/datastructures/heaps/MinPriorityQueue.java)
- **lists**
- [CircleLinkedList](src/main/java/com/thealgorithms/datastructures/lists/CircleLinkedList.java)
- [CircularDoublyLinkedList](src/main/java/com/thealgorithms/datastructures/lists/CircularDoublyLinkedList.java)
- [CountSinglyLinkedListRecursion](src/main/java/com/thealgorithms/datastructures/lists/CountSinglyLinkedListRecursion.java)
- [CreateAndDetectLoop](src/main/java/com/thealgorithms/datastructures/lists/CreateAndDetectLoop.java)
- [CursorLinkedList](src/main/java/com/thealgorithms/datastructures/lists/CursorLinkedList.java)
- [DoublyLinkedList](src/main/java/com/thealgorithms/datastructures/lists/DoublyLinkedList.java)
- [FlattenMultilevelLinkedList](src/main/java/com/thealgorithms/datastructures/lists/FlattenMultilevelLinkedList.java)
- [MergeKSortedLinkedList](src/main/java/com/thealgorithms/datastructures/lists/MergeKSortedLinkedList.java)
- [MergeSortedArrayList](src/main/java/com/thealgorithms/datastructures/lists/MergeSortedArrayList.java)
- [MergeSortedSinglyLinkedList](src/main/java/com/thealgorithms/datastructures/lists/MergeSortedSinglyLinkedList.java)
- [QuickSortLinkedList](src/main/java/com/thealgorithms/datastructures/lists/QuickSortLinkedList.java)
- [RandomNode](src/main/java/com/thealgorithms/datastructures/lists/RandomNode.java)
- [ReverseKGroup](src/main/java/com/thealgorithms/datastructures/lists/ReverseKGroup.java)
- [RotateSinglyLinkedLists](src/main/java/com/thealgorithms/datastructures/lists/RotateSinglyLinkedLists.java)
- [SearchSinglyLinkedListRecursion](src/main/java/com/thealgorithms/datastructures/lists/SearchSinglyLinkedListRecursion.java)
- [SinglyLinkedList](src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedList.java)
- [SinglyLinkedListNode](src/main/java/com/thealgorithms/datastructures/lists/SinglyLinkedListNode.java)
- [SkipList](src/main/java/com/thealgorithms/datastructures/lists/SkipList.java)
- [SortedLinkedList](src/main/java/com/thealgorithms/datastructures/lists/SortedLinkedList.java)
- [TortoiseHareAlgo](src/main/java/com/thealgorithms/datastructures/lists/TortoiseHareAlgo.java)
- **queues**
- [CircularQueue](src/main/java/com/thealgorithms/datastructures/queues/CircularQueue.java)
- [Deque](src/main/java/com/thealgorithms/datastructures/queues/Deque.java)
- [GenericArrayListQueue](src/main/java/com/thealgorithms/datastructures/queues/GenericArrayListQueue.java)
- [LinkedQueue](src/main/java/com/thealgorithms/datastructures/queues/LinkedQueue.java)
- [PriorityQueues](src/main/java/com/thealgorithms/datastructures/queues/PriorityQueues.java)
- [Queue](src/main/java/com/thealgorithms/datastructures/queues/Queue.java)
- [QueueByTwoStacks](src/main/java/com/thealgorithms/datastructures/queues/QueueByTwoStacks.java)
- [SlidingWindowMaximum](src/main/java/com/thealgorithms/datastructures/queues/SlidingWindowMaximum.java)
- [TokenBucket](src/main/java/com/thealgorithms/datastructures/queues/TokenBucket.java)
- **stacks**
- [NodeStack](src/main/java/com/thealgorithms/datastructures/stacks/NodeStack.java)
- [ReverseStack](src/main/java/com/thealgorithms/datastructures/stacks/ReverseStack.java)
- [Stack](src/main/java/com/thealgorithms/datastructures/stacks/Stack.java)
- [StackArray](src/main/java/com/thealgorithms/datastructures/stacks/StackArray.java)
- [StackArrayList](src/main/java/com/thealgorithms/datastructures/stacks/StackArrayList.java)
- [StackOfLinkedList](src/main/java/com/thealgorithms/datastructures/stacks/StackOfLinkedList.java)
- **trees**
- [AVLSimple](src/main/java/com/thealgorithms/datastructures/trees/AVLSimple.java)
- [AVLTree](src/main/java/com/thealgorithms/datastructures/trees/AVLTree.java)
- [BSTFromSortedArray](src/main/java/com/thealgorithms/datastructures/trees/BSTFromSortedArray.java)
- [BSTIterative](src/main/java/com/thealgorithms/datastructures/trees/BSTIterative.java)
- [BSTRecursive](src/main/java/com/thealgorithms/datastructures/trees/BSTRecursive.java)
- [BSTRecursiveGeneric](src/main/java/com/thealgorithms/datastructures/trees/BSTRecursiveGeneric.java)
- [BTree](src/main/java/com/thealgorithms/datastructures/trees/BTree.java)
- [BinaryTree](src/main/java/com/thealgorithms/datastructures/trees/BinaryTree.java)
- [BinaryTreeToString](src/main/java/com/thealgorithms/datastructures/trees/BinaryTreeToString.java)
- [BoundaryTraversal](src/main/java/com/thealgorithms/datastructures/trees/BoundaryTraversal.java)
- [CeilInBinarySearchTree](src/main/java/com/thealgorithms/datastructures/trees/CeilInBinarySearchTree.java)
- [CentroidDecomposition](src/main/java/com/thealgorithms/datastructures/trees/CentroidDecomposition.java)
- [CheckBinaryTreeIsValidBST](src/main/java/com/thealgorithms/datastructures/trees/CheckBinaryTreeIsValidBST.java)
- [CheckIfBinaryTreeBalanced](src/main/java/com/thealgorithms/datastructures/trees/CheckIfBinaryTreeBalanced.java)
- [CheckTreeIsSymmetric](src/main/java/com/thealgorithms/datastructures/trees/CheckTreeIsSymmetric.java)
- [CreateBinaryTreeFromInorderPreorder](src/main/java/com/thealgorithms/datastructures/trees/CreateBinaryTreeFromInorderPreorder.java)
- [FenwickTree](src/main/java/com/thealgorithms/datastructures/trees/FenwickTree.java)
- [GenericTree](src/main/java/com/thealgorithms/datastructures/trees/GenericTree.java)
- [InorderTraversal](src/main/java/com/thealgorithms/datastructures/trees/InorderTraversal.java)
- [KDTree](src/main/java/com/thealgorithms/datastructures/trees/KDTree.java)
- [LCA](src/main/java/com/thealgorithms/datastructures/trees/LCA.java)
- [LazySegmentTree](src/main/java/com/thealgorithms/datastructures/trees/LazySegmentTree.java)
- [LevelOrderTraversal](src/main/java/com/thealgorithms/datastructures/trees/LevelOrderTraversal.java)
- [PostOrderTraversal](src/main/java/com/thealgorithms/datastructures/trees/PostOrderTraversal.java)
- [PreOrderTraversal](src/main/java/com/thealgorithms/datastructures/trees/PreOrderTraversal.java)
- [PrintTopViewofTree](src/main/java/com/thealgorithms/datastructures/trees/PrintTopViewofTree.java)
- [QuadTree](src/main/java/com/thealgorithms/datastructures/trees/QuadTree.java)
- [RedBlackBST](src/main/java/com/thealgorithms/datastructures/trees/RedBlackBST.java)
- [SameTreesCheck](src/main/java/com/thealgorithms/datastructures/trees/SameTreesCheck.java)
- [SegmentTree](src/main/java/com/thealgorithms/datastructures/trees/SegmentTree.java)
- [SplayTree](src/main/java/com/thealgorithms/datastructures/trees/SplayTree.java)
- [ThreadedBinaryTree](src/main/java/com/thealgorithms/datastructures/trees/ThreadedBinaryTree.java)
- [Treap](src/main/java/com/thealgorithms/datastructures/trees/Treap.java)
- [TreeRandomNode](src/main/java/com/thealgorithms/datastructures/trees/TreeRandomNode.java)
- [Trie](src/main/java/com/thealgorithms/datastructures/trees/Trie.java)
- [VerticalOrderTraversal](src/main/java/com/thealgorithms/datastructures/trees/VerticalOrderTraversal.java)
- [ZigzagTraversal](src/main/java/com/thealgorithms/datastructures/trees/ZigzagTraversal.java)
- [nearestRightKey](src/main/java/com/thealgorithms/datastructures/trees/nearestRightKey.java)
- **devutils**
- **entities**
- [ProcessDetails](src/main/java/com/thealgorithms/devutils/entities/ProcessDetails.java)
- **nodes**
- [LargeTreeNode](src/main/java/com/thealgorithms/devutils/nodes/LargeTreeNode.java)
- [Node](src/main/java/com/thealgorithms/devutils/nodes/Node.java)
- [SimpleNode](src/main/java/com/thealgorithms/devutils/nodes/SimpleNode.java)
- [SimpleTreeNode](src/main/java/com/thealgorithms/devutils/nodes/SimpleTreeNode.java)
- [TreeNode](src/main/java/com/thealgorithms/devutils/nodes/TreeNode.java)
- **searches**
- [MatrixSearchAlgorithm](src/main/java/com/thealgorithms/devutils/searches/MatrixSearchAlgorithm.java)
- [SearchAlgorithm](src/main/java/com/thealgorithms/devutils/searches/SearchAlgorithm.java)
- **divideandconquer**
- [BinaryExponentiation](src/main/java/com/thealgorithms/divideandconquer/BinaryExponentiation.java)
- [ClosestPair](src/main/java/com/thealgorithms/divideandconquer/ClosestPair.java)
- [CountingInversions](src/main/java/com/thealgorithms/divideandconquer/CountingInversions.java)
- [MedianOfTwoSortedArrays](src/main/java/com/thealgorithms/divideandconquer/MedianOfTwoSortedArrays.java)
- [SkylineAlgorithm](src/main/java/com/thealgorithms/divideandconquer/SkylineAlgorithm.java)
- [StrassenMatrixMultiplication](src/main/java/com/thealgorithms/divideandconquer/StrassenMatrixMultiplication.java)
- [TilingProblem](src/main/java/com/thealgorithms/divideandconquer/TilingProblem.java)
- **dynamicprogramming**
- [Abbreviation](src/main/java/com/thealgorithms/dynamicprogramming/Abbreviation.java)
- [AllConstruct](src/main/java/com/thealgorithms/dynamicprogramming/AllConstruct.java)
- [AssignmentUsingBitmask](src/main/java/com/thealgorithms/dynamicprogramming/AssignmentUsingBitmask.java)
- [BoardPath](src/main/java/com/thealgorithms/dynamicprogramming/BoardPath.java)
- [BoundaryFill](src/main/java/com/thealgorithms/dynamicprogramming/BoundaryFill.java)
- [BruteForceKnapsack](src/main/java/com/thealgorithms/dynamicprogramming/BruteForceKnapsack.java)
- [CatalanNumber](src/main/java/com/thealgorithms/dynamicprogramming/CatalanNumber.java)
- [ClimbingStairs](src/main/java/com/thealgorithms/dynamicprogramming/ClimbingStairs.java)
- [CoinChange](src/main/java/com/thealgorithms/dynamicprogramming/CoinChange.java)
- [CountFriendsPairing](src/main/java/com/thealgorithms/dynamicprogramming/CountFriendsPairing.java)
- [DamerauLevenshteinDistance](src/main/java/com/thealgorithms/dynamicprogramming/DamerauLevenshteinDistance.java)
- [DiceThrow](src/main/java/com/thealgorithms/dynamicprogramming/DiceThrow.java)
- [EditDistance](src/main/java/com/thealgorithms/dynamicprogramming/EditDistance.java)
- [EggDropping](src/main/java/com/thealgorithms/dynamicprogramming/EggDropping.java)
- [Fibonacci](src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java)
- [KadaneAlgorithm](src/main/java/com/thealgorithms/dynamicprogramming/KadaneAlgorithm.java)
- [Knapsack](src/main/java/com/thealgorithms/dynamicprogramming/Knapsack.java)
- [KnapsackMemoization](src/main/java/com/thealgorithms/dynamicprogramming/KnapsackMemoization.java)
- [KnapsackZeroOne](src/main/java/com/thealgorithms/dynamicprogramming/KnapsackZeroOne.java)
- [KnapsackZeroOneTabulation](src/main/java/com/thealgorithms/dynamicprogramming/KnapsackZeroOneTabulation.java)
- [LevenshteinDistance](src/main/java/com/thealgorithms/dynamicprogramming/LevenshteinDistance.java)
- [LongestAlternatingSubsequence](src/main/java/com/thealgorithms/dynamicprogramming/LongestAlternatingSubsequence.java)
- [LongestArithmeticSubsequence](src/main/java/com/thealgorithms/dynamicprogramming/LongestArithmeticSubsequence.java)
- [LongestCommonSubsequence](src/main/java/com/thealgorithms/dynamicprogramming/LongestCommonSubsequence.java)
- [LongestIncreasingSubsequence](src/main/java/com/thealgorithms/dynamicprogramming/LongestIncreasingSubsequence.java)
- [LongestIncreasingSubsequenceNLogN](src/main/java/com/thealgorithms/dynamicprogramming/LongestIncreasingSubsequenceNLogN.java)
- [LongestPalindromicSubsequence](src/main/java/com/thealgorithms/dynamicprogramming/LongestPalindromicSubsequence.java)
- [LongestPalindromicSubstring](src/main/java/com/thealgorithms/dynamicprogramming/LongestPalindromicSubstring.java)
- [LongestValidParentheses](src/main/java/com/thealgorithms/dynamicprogramming/LongestValidParentheses.java)
- [MatrixChainMultiplication](src/main/java/com/thealgorithms/dynamicprogramming/MatrixChainMultiplication.java)
- [MatrixChainRecursiveTopDownMemoisation](src/main/java/com/thealgorithms/dynamicprogramming/MatrixChainRecursiveTopDownMemoisation.java)
- [MaximumProductSubarray](src/main/java/com/thealgorithms/dynamicprogramming/MaximumProductSubarray.java)
- [MaximumSumOfNonAdjacentElements](src/main/java/com/thealgorithms/dynamicprogramming/MaximumSumOfNonAdjacentElements.java)
- [MinimumPathSum](src/main/java/com/thealgorithms/dynamicprogramming/MinimumPathSum.java)
- [MinimumSumPartition](src/main/java/com/thealgorithms/dynamicprogramming/MinimumSumPartition.java)
- [NeedlemanWunsch](src/main/java/com/thealgorithms/dynamicprogramming/NeedlemanWunsch.java)
- [NewManShanksPrime](src/main/java/com/thealgorithms/dynamicprogramming/NewManShanksPrime.java)
- [OptimalJobScheduling](src/main/java/com/thealgorithms/dynamicprogramming/OptimalJobScheduling.java)
- [PalindromicPartitioning](src/main/java/com/thealgorithms/dynamicprogramming/PalindromicPartitioning.java)
- [PartitionProblem](src/main/java/com/thealgorithms/dynamicprogramming/PartitionProblem.java)
- [RegexMatching](src/main/java/com/thealgorithms/dynamicprogramming/RegexMatching.java)
- [RodCutting](src/main/java/com/thealgorithms/dynamicprogramming/RodCutting.java)
- [ShortestCommonSupersequenceLength](src/main/java/com/thealgorithms/dynamicprogramming/ShortestCommonSupersequenceLength.java)
- [SmithWaterman](src/main/java/com/thealgorithms/dynamicprogramming/SmithWaterman.java)
- [SubsetCount](src/main/java/com/thealgorithms/dynamicprogramming/SubsetCount.java)
- [SubsetSum](src/main/java/com/thealgorithms/dynamicprogramming/SubsetSum.java)
- [SubsetSumSpaceOptimized](src/main/java/com/thealgorithms/dynamicprogramming/SubsetSumSpaceOptimized.java)
- [SumOfSubset](src/main/java/com/thealgorithms/dynamicprogramming/SumOfSubset.java)
- [TreeMatching](src/main/java/com/thealgorithms/dynamicprogramming/TreeMatching.java)
- [Tribonacci](src/main/java/com/thealgorithms/dynamicprogramming/Tribonacci.java)
- [UniquePaths](src/main/java/com/thealgorithms/dynamicprogramming/UniquePaths.java)
- [UniqueSubsequencesCount](src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java)
- [WildcardMatching](src/main/java/com/thealgorithms/dynamicprogramming/WildcardMatching.java)
- [WineProblem](src/main/java/com/thealgorithms/dynamicprogramming/WineProblem.java)
- **geometry**
- [BentleyOttmann](src/main/java/com/thealgorithms/geometry/BentleyOttmann.java)
- [BresenhamLine](src/main/java/com/thealgorithms/geometry/BresenhamLine.java)
- [ConvexHull](src/main/java/com/thealgorithms/geometry/ConvexHull.java)
- [DDALine](src/main/java/com/thealgorithms/geometry/DDALine.java)
- [GrahamScan](src/main/java/com/thealgorithms/geometry/GrahamScan.java)
- [Haversine](src/main/java/com/thealgorithms/geometry/Haversine.java)
- [MidpointCircle](src/main/java/com/thealgorithms/geometry/MidpointCircle.java)
- [MidpointEllipse](src/main/java/com/thealgorithms/geometry/MidpointEllipse.java)
- [Point](src/main/java/com/thealgorithms/geometry/Point.java)
- [WusLine](src/main/java/com/thealgorithms/geometry/WusLine.java)
- **graph**
- [BronKerbosch](src/main/java/com/thealgorithms/graph/BronKerbosch.java)
- [ConstrainedShortestPath](src/main/java/com/thealgorithms/graph/ConstrainedShortestPath.java)
- [Dinic](src/main/java/com/thealgorithms/graph/Dinic.java)
- [Edmonds](src/main/java/com/thealgorithms/graph/Edmonds.java)
- [EdmondsKarp](src/main/java/com/thealgorithms/graph/EdmondsKarp.java)
- [GomoryHuTree](src/main/java/com/thealgorithms/graph/GomoryHuTree.java)
- [HierholzerAlgorithm](src/main/java/com/thealgorithms/graph/HierholzerAlgorithm.java)
- [HierholzerEulerianPath](src/main/java/com/thealgorithms/graph/HierholzerEulerianPath.java)
- [HopcroftKarp](src/main/java/com/thealgorithms/graph/HopcroftKarp.java)
- [HungarianAlgorithm](src/main/java/com/thealgorithms/graph/HungarianAlgorithm.java)
- [PredecessorConstrainedDfs](src/main/java/com/thealgorithms/graph/PredecessorConstrainedDfs.java)
- [PushRelabel](src/main/java/com/thealgorithms/graph/PushRelabel.java)
- [StoerWagner](src/main/java/com/thealgorithms/graph/StoerWagner.java)
- [StronglyConnectedComponentOptimized](src/main/java/com/thealgorithms/graph/StronglyConnectedComponentOptimized.java)
- [TravelingSalesman](src/main/java/com/thealgorithms/graph/TravelingSalesman.java)
- [YensKShortestPaths](src/main/java/com/thealgorithms/graph/YensKShortestPaths.java)
- [ZeroOneBfs](src/main/java/com/thealgorithms/graph/ZeroOneBfs.java)
- **greedyalgorithms**
- [ActivitySelection](src/main/java/com/thealgorithms/greedyalgorithms/ActivitySelection.java)
- [BandwidthAllocation](src/main/java/com/thealgorithms/greedyalgorithms/BandwidthAllocation.java)
- [BinaryAddition](src/main/java/com/thealgorithms/greedyalgorithms/BinaryAddition.java)
- [CoinChange](src/main/java/com/thealgorithms/greedyalgorithms/CoinChange.java)
- [DigitSeparation](src/main/java/com/thealgorithms/greedyalgorithms/DigitSeparation.java)
- [EgyptianFraction](src/main/java/com/thealgorithms/greedyalgorithms/EgyptianFraction.java)
- [FractionalKnapsack](src/main/java/com/thealgorithms/greedyalgorithms/FractionalKnapsack.java)
- [GaleShapley](src/main/java/com/thealgorithms/greedyalgorithms/GaleShapley.java)
- [JobSequencing](src/main/java/com/thealgorithms/greedyalgorithms/JobSequencing.java)
- [KCenters](src/main/java/com/thealgorithms/greedyalgorithms/KCenters.java)
- [MergeIntervals](src/main/java/com/thealgorithms/greedyalgorithms/MergeIntervals.java)
- [MinimizingLateness](src/main/java/com/thealgorithms/greedyalgorithms/MinimizingLateness.java)
- [MinimumWaitingTime](src/main/java/com/thealgorithms/greedyalgorithms/MinimumWaitingTime.java)
- [OptimalFileMerging](src/main/java/com/thealgorithms/greedyalgorithms/OptimalFileMerging.java)
- [StockProfitCalculator](src/main/java/com/thealgorithms/greedyalgorithms/StockProfitCalculator.java)
- **io**
- [BufferedReader](src/main/java/com/thealgorithms/io/BufferedReader.java)
- **lineclipping**
- [CohenSutherland](src/main/java/com/thealgorithms/lineclipping/CohenSutherland.java)
- [LiangBarsky](src/main/java/com/thealgorithms/lineclipping/LiangBarsky.java)
- **utils**
- [Line](src/main/java/com/thealgorithms/lineclipping/utils/Line.java)
- [Point](src/main/java/com/thealgorithms/lineclipping/utils/Point.java)
- **maths**
- [ADTFraction](src/main/java/com/thealgorithms/maths/ADTFraction.java)
- [AbsoluteMax](src/main/java/com/thealgorithms/maths/AbsoluteMax.java)
- [AbsoluteMin](src/main/java/com/thealgorithms/maths/AbsoluteMin.java)
- [AbsoluteValue](src/main/java/com/thealgorithms/maths/AbsoluteValue.java)
- [AbundantNumber](src/main/java/com/thealgorithms/maths/AbundantNumber.java)
- [AliquotSum](src/main/java/com/thealgorithms/maths/AliquotSum.java)
- [AmicableNumber](src/main/java/com/thealgorithms/maths/AmicableNumber.java)
- [Area](src/main/java/com/thealgorithms/maths/Area.java)
- [Armstrong](src/main/java/com/thealgorithms/maths/Armstrong.java)
- [AutoCorrelation](src/main/java/com/thealgorithms/maths/AutoCorrelation.java)
- [AutomorphicNumber](src/main/java/com/thealgorithms/maths/AutomorphicNumber.java)
- [Average](src/main/java/com/thealgorithms/maths/Average.java)
- [BinaryPow](src/main/java/com/thealgorithms/maths/BinaryPow.java)
- [BinomialCoefficient](src/main/java/com/thealgorithms/maths/BinomialCoefficient.java)
- [CatalanNumbers](src/main/java/com/thealgorithms/maths/CatalanNumbers.java)
- [Ceil](src/main/java/com/thealgorithms/maths/Ceil.java)
- [ChebyshevIteration](src/main/java/com/thealgorithms/maths/ChebyshevIteration.java)
- [ChineseRemainderTheorem](src/main/java/com/thealgorithms/maths/ChineseRemainderTheorem.java)
- [CircularConvolutionFFT](src/main/java/com/thealgorithms/maths/CircularConvolutionFFT.java)
- [CollatzConjecture](src/main/java/com/thealgorithms/maths/CollatzConjecture.java)
- [Combinations](src/main/java/com/thealgorithms/maths/Combinations.java)
- [Convolution](src/main/java/com/thealgorithms/maths/Convolution.java)
- [ConvolutionFFT](src/main/java/com/thealgorithms/maths/ConvolutionFFT.java)
- [CrossCorrelation](src/main/java/com/thealgorithms/maths/CrossCorrelation.java)
- [DeterminantOfMatrix](src/main/java/com/thealgorithms/maths/DeterminantOfMatrix.java)
- [DigitalRoot](src/main/java/com/thealgorithms/maths/DigitalRoot.java)
- [DistanceFormula](src/main/java/com/thealgorithms/maths/DistanceFormula.java)
- [DudeneyNumber](src/main/java/com/thealgorithms/maths/DudeneyNumber.java)
- [EulerMethod](src/main/java/com/thealgorithms/maths/EulerMethod.java)
- [EulerPseudoprime](src/main/java/com/thealgorithms/maths/EulerPseudoprime.java)
- [EulersFunction](src/main/java/com/thealgorithms/maths/EulersFunction.java)
- [EvilNumber](src/main/java/com/thealgorithms/maths/EvilNumber.java)
- [ExtendedEuclideanAlgorithm](src/main/java/com/thealgorithms/maths/ExtendedEuclideanAlgorithm.java)
- [FFT](src/main/java/com/thealgorithms/maths/FFT.java)
- [FFTBluestein](src/main/java/com/thealgorithms/maths/FFTBluestein.java)
- [Factorial](src/main/java/com/thealgorithms/maths/Factorial.java)
- [FastExponentiation](src/main/java/com/thealgorithms/maths/FastExponentiation.java)
- [FastInverseSqrt](src/main/java/com/thealgorithms/maths/FastInverseSqrt.java)
- [FibonacciJavaStreams](src/main/java/com/thealgorithms/maths/FibonacciJavaStreams.java)
- [FibonacciLoop](src/main/java/com/thealgorithms/maths/FibonacciLoop.java)
- [FibonacciNumberCheck](src/main/java/com/thealgorithms/maths/FibonacciNumberCheck.java)
- [FibonacciNumberGoldenRation](src/main/java/com/thealgorithms/maths/FibonacciNumberGoldenRation.java)
- [FindKthNumber](src/main/java/com/thealgorithms/maths/FindKthNumber.java)
- [FindMax](src/main/java/com/thealgorithms/maths/FindMax.java)
- [FindMaxRecursion](src/main/java/com/thealgorithms/maths/FindMaxRecursion.java)
- [FindMin](src/main/java/com/thealgorithms/maths/FindMin.java)
- [FindMinRecursion](src/main/java/com/thealgorithms/maths/FindMinRecursion.java)
- [Floor](src/main/java/com/thealgorithms/maths/Floor.java)
- [FrizzyNumber](src/main/java/com/thealgorithms/maths/FrizzyNumber.java)
- [GCD](src/main/java/com/thealgorithms/maths/GCD.java)
- [GCDRecursion](src/main/java/com/thealgorithms/maths/GCDRecursion.java)
- [Gaussian](src/main/java/com/thealgorithms/maths/Gaussian.java)
- [GenericRoot](src/main/java/com/thealgorithms/maths/GenericRoot.java)
- [GermainPrimeAndSafePrime](src/main/java/com/thealgorithms/maths/GermainPrimeAndSafePrime.java)
- [GoldbachConjecture](src/main/java/com/thealgorithms/maths/GoldbachConjecture.java)
- [HappyNumber](src/main/java/com/thealgorithms/maths/HappyNumber.java)
- [HarshadNumber](src/main/java/com/thealgorithms/maths/HarshadNumber.java)
- [HeronsFormula](src/main/java/com/thealgorithms/maths/HeronsFormula.java)
- [JosephusProblem](src/main/java/com/thealgorithms/maths/JosephusProblem.java)
- [JugglerSequence](src/main/java/com/thealgorithms/maths/JugglerSequence.java)
- [KaprekarNumbers](src/main/java/com/thealgorithms/maths/KaprekarNumbers.java)
- [KaratsubaMultiplication](src/main/java/com/thealgorithms/maths/KaratsubaMultiplication.java)
- [KeithNumber](src/main/java/com/thealgorithms/maths/KeithNumber.java)
- [KrishnamurthyNumber](src/main/java/com/thealgorithms/maths/KrishnamurthyNumber.java)
- [LeastCommonMultiple](src/main/java/com/thealgorithms/maths/LeastCommonMultiple.java)
- [LeonardoNumber](src/main/java/com/thealgorithms/maths/LeonardoNumber.java)
- [LinearDiophantineEquationsSolver](src/main/java/com/thealgorithms/maths/LinearDiophantineEquationsSolver.java)
- [LongDivision](src/main/java/com/thealgorithms/maths/LongDivision.java)
- [LucasSeries](src/main/java/com/thealgorithms/maths/LucasSeries.java)
- [LuckyNumber](src/main/java/com/thealgorithms/maths/LuckyNumber.java)
- [MagicSquare](src/main/java/com/thealgorithms/maths/MagicSquare.java)
- [MathBuilder](src/main/java/com/thealgorithms/maths/MathBuilder.java)
- [MaxValue](src/main/java/com/thealgorithms/maths/MaxValue.java)
- [Means](src/main/java/com/thealgorithms/maths/Means.java)
- [Median](src/main/java/com/thealgorithms/maths/Median.java)
- [MinValue](src/main/java/com/thealgorithms/maths/MinValue.java)
- [Mode](src/main/java/com/thealgorithms/maths/Mode.java)
- [Neville](src/main/java/com/thealgorithms/maths/Neville.java)
- [NonRepeatingElement](src/main/java/com/thealgorithms/maths/NonRepeatingElement.java)
- [NthUglyNumber](src/main/java/com/thealgorithms/maths/NthUglyNumber.java)
- [NumberOfDigits](src/main/java/com/thealgorithms/maths/NumberOfDigits.java)
- [NumberPersistence](src/main/java/com/thealgorithms/maths/NumberPersistence.java)
- [PalindromeNumber](src/main/java/com/thealgorithms/maths/PalindromeNumber.java)
- [ParseInteger](src/main/java/com/thealgorithms/maths/ParseInteger.java)
- [PascalTriangle](src/main/java/com/thealgorithms/maths/PascalTriangle.java)
- [PerfectCube](src/main/java/com/thealgorithms/maths/PerfectCube.java)
- [PerfectNumber](src/main/java/com/thealgorithms/maths/PerfectNumber.java)
- [PerfectSquare](src/main/java/com/thealgorithms/maths/PerfectSquare.java)
- [Perimeter](src/main/java/com/thealgorithms/maths/Perimeter.java)
- [PiApproximation](src/main/java/com/thealgorithms/maths/PiApproximation.java)
- [PiNilakantha](src/main/java/com/thealgorithms/maths/PiNilakantha.java)
- [PollardRho](src/main/java/com/thealgorithms/maths/PollardRho.java)
- [Pow](src/main/java/com/thealgorithms/maths/Pow.java)
- [PowerOfFour](src/main/java/com/thealgorithms/maths/PowerOfFour.java)
- [PowerOfTwoOrNot](src/main/java/com/thealgorithms/maths/PowerOfTwoOrNot.java)
- [PowerUsingRecursion](src/main/java/com/thealgorithms/maths/PowerUsingRecursion.java)
- **Prime**
- [LiouvilleLambdaFunction](src/main/java/com/thealgorithms/maths/Prime/LiouvilleLambdaFunction.java)
- [MillerRabinPrimalityCheck](src/main/java/com/thealgorithms/maths/Prime/MillerRabinPrimalityCheck.java)
- [MobiusFunction](src/main/java/com/thealgorithms/maths/Prime/MobiusFunction.java)
- [PrimeCheck](src/main/java/com/thealgorithms/maths/Prime/PrimeCheck.java)
- [PrimeFactorization](src/main/java/com/thealgorithms/maths/Prime/PrimeFactorization.java)
- [SquareFreeInteger](src/main/java/com/thealgorithms/maths/Prime/SquareFreeInteger.java)
- [PronicNumber](src/main/java/com/thealgorithms/maths/PronicNumber.java)
- [PythagoreanTriple](src/main/java/com/thealgorithms/maths/PythagoreanTriple.java)
- [QuadraticEquationSolver](src/main/java/com/thealgorithms/maths/QuadraticEquationSolver.java)
- [ReverseNumber](src/main/java/com/thealgorithms/maths/ReverseNumber.java)
- [RomanNumeralUtil](src/main/java/com/thealgorithms/maths/RomanNumeralUtil.java)
- [SecondMinMax](src/main/java/com/thealgorithms/maths/SecondMinMax.java)
- [SieveOfAtkin](src/main/java/com/thealgorithms/maths/SieveOfAtkin.java)
- [SieveOfEratosthenes](src/main/java/com/thealgorithms/maths/SieveOfEratosthenes.java)
- [SimpsonIntegration](src/main/java/com/thealgorithms/maths/SimpsonIntegration.java)
- [SmithNumber](src/main/java/com/thealgorithms/maths/SmithNumber.java)
- [SolovayStrassenPrimalityTest](src/main/java/com/thealgorithms/maths/SolovayStrassenPrimalityTest.java)
- [SquareRootWithBabylonianMethod](src/main/java/com/thealgorithms/maths/SquareRootWithBabylonianMethod.java)
- [SquareRootWithNewtonRaphsonMethod](src/main/java/com/thealgorithms/maths/SquareRootWithNewtonRaphsonMethod.java)
- [StandardDeviation](src/main/java/com/thealgorithms/maths/StandardDeviation.java)
- [StandardScore](src/main/java/com/thealgorithms/maths/StandardScore.java)
- [StrobogrammaticNumber](src/main/java/com/thealgorithms/maths/StrobogrammaticNumber.java)
- [SumOfArithmeticSeries](src/main/java/com/thealgorithms/maths/SumOfArithmeticSeries.java)
- [SumOfDigits](src/main/java/com/thealgorithms/maths/SumOfDigits.java)
- [SumOfOddNumbers](src/main/java/com/thealgorithms/maths/SumOfOddNumbers.java)
- [SumOfSquares](src/main/java/com/thealgorithms/maths/SumOfSquares.java)
- [SumWithoutArithmeticOperators](src/main/java/com/thealgorithms/maths/SumWithoutArithmeticOperators.java)
- [TrinomialTriangle](src/main/java/com/thealgorithms/maths/TrinomialTriangle.java)
- [TwinPrime](src/main/java/com/thealgorithms/maths/TwinPrime.java)
- [UniformNumbers](src/main/java/com/thealgorithms/maths/UniformNumbers.java)
- [VampireNumber](src/main/java/com/thealgorithms/maths/VampireNumber.java)
- [VectorCrossProduct](src/main/java/com/thealgorithms/maths/VectorCrossProduct.java)
- [Volume](src/main/java/com/thealgorithms/maths/Volume.java)
- [ZellersCongruence](src/main/java/com/thealgorithms/maths/ZellersCongruence.java)
- **matrix**
- [InverseOfMatrix](src/main/java/com/thealgorithms/matrix/InverseOfMatrix.java)
- [LUDecomposition](src/main/java/com/thealgorithms/matrix/LUDecomposition.java)
- [MatrixMultiplication](src/main/java/com/thealgorithms/matrix/MatrixMultiplication.java)
- [MatrixRank](src/main/java/com/thealgorithms/matrix/MatrixRank.java)
- [MatrixTranspose](src/main/java/com/thealgorithms/matrix/MatrixTranspose.java)
- [MedianOfMatrix](src/main/java/com/thealgorithms/matrix/MedianOfMatrix.java)
- [MirrorOfMatrix](src/main/java/com/thealgorithms/matrix/MirrorOfMatrix.java)
- [PrintAMatrixInSpiralOrder](src/main/java/com/thealgorithms/matrix/PrintAMatrixInSpiralOrder.java)
- [RotateMatrixBy90Degrees](src/main/java/com/thealgorithms/matrix/RotateMatrixBy90Degrees.java)
- [SolveSystem](src/main/java/com/thealgorithms/matrix/SolveSystem.java)
- [StochasticMatrix](src/main/java/com/thealgorithms/matrix/StochasticMatrix.java)
- **matrixexponentiation**
- [Fibonacci](src/main/java/com/thealgorithms/matrix/matrixexponentiation/Fibonacci.java)
- **utils**
- [MatrixUtil](src/main/java/com/thealgorithms/matrix/utils/MatrixUtil.java)
- **misc**
- [ColorContrastRatio](src/main/java/com/thealgorithms/misc/ColorContrastRatio.java)
- [MapReduce](src/main/java/com/thealgorithms/misc/MapReduce.java)
- [MedianOfRunningArray](src/main/java/com/thealgorithms/misc/MedianOfRunningArray.java)
- [MedianOfRunningArrayByte](src/main/java/com/thealgorithms/misc/MedianOfRunningArrayByte.java)
- [MedianOfRunningArrayDouble](src/main/java/com/thealgorithms/misc/MedianOfRunningArrayDouble.java)
- [MedianOfRunningArrayFloat](src/main/java/com/thealgorithms/misc/MedianOfRunningArrayFloat.java)
- [MedianOfRunningArrayInteger](src/main/java/com/thealgorithms/misc/MedianOfRunningArrayInteger.java)
- [MedianOfRunningArrayLong](src/main/java/com/thealgorithms/misc/MedianOfRunningArrayLong.java)
- [PalindromePrime](src/main/java/com/thealgorithms/misc/PalindromePrime.java)
- [PalindromeSinglyLinkedList](src/main/java/com/thealgorithms/misc/PalindromeSinglyLinkedList.java)
- [RangeInSortedArray](src/main/java/com/thealgorithms/misc/RangeInSortedArray.java)
- [ShuffleArray](src/main/java/com/thealgorithms/misc/ShuffleArray.java)
- [Sparsity](src/main/java/com/thealgorithms/misc/Sparsity.java)
- [ThreeSumProblem](src/main/java/com/thealgorithms/misc/ThreeSumProblem.java)
- [TwoSumProblem](src/main/java/com/thealgorithms/misc/TwoSumProblem.java)
- **others**
- [ArrayLeftRotation](src/main/java/com/thealgorithms/others/ArrayLeftRotation.java)
- [ArrayRightRotation](src/main/java/com/thealgorithms/others/ArrayRightRotation.java)
- [BFPRT](src/main/java/com/thealgorithms/others/BFPRT.java)
- [BankersAlgorithm](src/main/java/com/thealgorithms/others/BankersAlgorithm.java)
- [BoyerMoore](src/main/java/com/thealgorithms/others/BoyerMoore.java)
- [BrianKernighanAlgorithm](src/main/java/com/thealgorithms/others/BrianKernighanAlgorithm.java)
- [CRC16](src/main/java/com/thealgorithms/others/CRC16.java)
- [CRC32](src/main/java/com/thealgorithms/others/CRC32.java)
- [CRCAlgorithm](src/main/java/com/thealgorithms/others/CRCAlgorithm.java)
- [Conway](src/main/java/com/thealgorithms/others/Conway.java)
- [Damm](src/main/java/com/thealgorithms/others/Damm.java)
- [Dijkstra](src/main/java/com/thealgorithms/others/Dijkstra.java)
- [FloydTriangle](src/main/java/com/thealgorithms/others/FloydTriangle.java)
- [GaussLegendre](src/main/java/com/thealgorithms/others/GaussLegendre.java)
- [Huffman](src/main/java/com/thealgorithms/others/Huffman.java)
- [Implementing_auto_completing_features_using_trie](src/main/java/com/thealgorithms/others/Implementing_auto_completing_features_using_trie.java)
- [InsertDeleteInArray](src/main/java/com/thealgorithms/others/InsertDeleteInArray.java)
- [IterativeFloodFill](src/main/java/com/thealgorithms/others/IterativeFloodFill.java)
- [KochSnowflake](src/main/java/com/thealgorithms/others/KochSnowflake.java)
- [LineSweep](src/main/java/com/thealgorithms/others/LineSweep.java)
- [LinearCongruentialGenerator](src/main/java/com/thealgorithms/others/LinearCongruentialGenerator.java)
- [LowestBasePalindrome](src/main/java/com/thealgorithms/others/LowestBasePalindrome.java)
- [Luhn](src/main/java/com/thealgorithms/others/Luhn.java)
- [Mandelbrot](src/main/java/com/thealgorithms/others/Mandelbrot.java)
- [MaximumSumOfDistinctSubarraysWithLengthK](src/main/java/com/thealgorithms/others/MaximumSumOfDistinctSubarraysWithLengthK.java)
- [MemoryManagementAlgorithms](src/main/java/com/thealgorithms/others/MemoryManagementAlgorithms.java)
- [MiniMaxAlgorithm](src/main/java/com/thealgorithms/others/MiniMaxAlgorithm.java)
- [MosAlgorithm](src/main/java/com/thealgorithms/others/MosAlgorithm.java)
- [PageRank](src/main/java/com/thealgorithms/others/PageRank.java)
- [PasswordGen](src/main/java/com/thealgorithms/others/PasswordGen.java)
- [PerlinNoise](src/main/java/com/thealgorithms/others/PerlinNoise.java)
- [QueueUsingTwoStacks](src/main/java/com/thealgorithms/others/QueueUsingTwoStacks.java)
- [SkylineProblem](src/main/java/com/thealgorithms/others/SkylineProblem.java)
- [TwoPointers](src/main/java/com/thealgorithms/others/TwoPointers.java)
- [Verhoeff](src/main/java/com/thealgorithms/others/Verhoeff.java)
- **physics**
- [CoulombsLaw](src/main/java/com/thealgorithms/physics/CoulombsLaw.java)
- [DampedOscillator](src/main/java/com/thealgorithms/physics/DampedOscillator.java)
- [ElasticCollision2D](src/main/java/com/thealgorithms/physics/ElasticCollision2D.java)
- [Gravitation](src/main/java/com/thealgorithms/physics/Gravitation.java)
- [GroundToGroundProjectileMotion](src/main/java/com/thealgorithms/physics/GroundToGroundProjectileMotion.java)
- [Kinematics](src/main/java/com/thealgorithms/physics/Kinematics.java)
- [ProjectileMotion](src/main/java/com/thealgorithms/physics/ProjectileMotion.java)
- [SimplePendulumRK4](src/main/java/com/thealgorithms/physics/SimplePendulumRK4.java)
- [SnellLaw](src/main/java/com/thealgorithms/physics/SnellLaw.java)
- [ThinLens](src/main/java/com/thealgorithms/physics/ThinLens.java)
- **puzzlesandgames**
- [TowerOfHanoi](src/main/java/com/thealgorithms/puzzlesandgames/TowerOfHanoi.java)
- [WordBoggle](src/main/java/com/thealgorithms/puzzlesandgames/WordBoggle.java)
- **randomized**
- [KargerMinCut](src/main/java/com/thealgorithms/randomized/KargerMinCut.java)
- [MonteCarloIntegration](src/main/java/com/thealgorithms/randomized/MonteCarloIntegration.java)
- [RandomizedClosestPair](src/main/java/com/thealgorithms/randomized/RandomizedClosestPair.java)
- [RandomizedMatrixMultiplicationVerification](src/main/java/com/thealgorithms/randomized/RandomizedMatrixMultiplicationVerification.java)
- [RandomizedQuickSort](src/main/java/com/thealgorithms/randomized/RandomizedQuickSort.java)
- [ReservoirSampling](src/main/java/com/thealgorithms/randomized/ReservoirSampling.java)
- **recursion**
- [DiceThrower](src/main/java/com/thealgorithms/recursion/DiceThrower.java)
- [FactorialRecursion](src/main/java/com/thealgorithms/recursion/FactorialRecursion.java)
- [FibonacciSeries](src/main/java/com/thealgorithms/recursion/FibonacciSeries.java)
- [GenerateSubsets](src/main/java/com/thealgorithms/recursion/GenerateSubsets.java)
- [SylvesterSequence](src/main/java/com/thealgorithms/recursion/SylvesterSequence.java)
- **scheduling**
- [AgingScheduling](src/main/java/com/thealgorithms/scheduling/AgingScheduling.java)
- [EDFScheduling](src/main/java/com/thealgorithms/scheduling/EDFScheduling.java)
- [FCFSScheduling](src/main/java/com/thealgorithms/scheduling/FCFSScheduling.java)
- [FairShareScheduling](src/main/java/com/thealgorithms/scheduling/FairShareScheduling.java)
- [GangScheduling](src/main/java/com/thealgorithms/scheduling/GangScheduling.java)
- [HighestResponseRatioNextScheduling](src/main/java/com/thealgorithms/scheduling/HighestResponseRatioNextScheduling.java)
- [JobSchedulingWithDeadline](src/main/java/com/thealgorithms/scheduling/JobSchedulingWithDeadline.java)
- [LotteryScheduling](src/main/java/com/thealgorithms/scheduling/LotteryScheduling.java)
- [MLFQScheduler](src/main/java/com/thealgorithms/scheduling/MLFQScheduler.java)
- [MultiAgentScheduling](src/main/java/com/thealgorithms/scheduling/MultiAgentScheduling.java)
- [NonPreemptivePriorityScheduling](src/main/java/com/thealgorithms/scheduling/NonPreemptivePriorityScheduling.java)
- [PreemptivePriorityScheduling](src/main/java/com/thealgorithms/scheduling/PreemptivePriorityScheduling.java)
- [ProportionalFairScheduling](src/main/java/com/thealgorithms/scheduling/ProportionalFairScheduling.java)
- [RRScheduling](src/main/java/com/thealgorithms/scheduling/RRScheduling.java)
- [RandomScheduling](src/main/java/com/thealgorithms/scheduling/RandomScheduling.java)
- [SJFScheduling](src/main/java/com/thealgorithms/scheduling/SJFScheduling.java)
- [SRTFScheduling](src/main/java/com/thealgorithms/scheduling/SRTFScheduling.java)
- [SelfAdjustingScheduling](src/main/java/com/thealgorithms/scheduling/SelfAdjustingScheduling.java)
- [SlackTimeScheduling](src/main/java/com/thealgorithms/scheduling/SlackTimeScheduling.java)
- **diskscheduling**
- [CircularLookScheduling](src/main/java/com/thealgorithms/scheduling/diskscheduling/CircularLookScheduling.java)
- [CircularScanScheduling](src/main/java/com/thealgorithms/scheduling/diskscheduling/CircularScanScheduling.java)
- [LookScheduling](src/main/java/com/thealgorithms/scheduling/diskscheduling/LookScheduling.java)
- [SSFScheduling](src/main/java/com/thealgorithms/scheduling/diskscheduling/SSFScheduling.java)
- [ScanScheduling](src/main/java/com/thealgorithms/scheduling/diskscheduling/ScanScheduling.java)
- **searches**
- [BM25InvertedIndex](src/main/java/com/thealgorithms/searches/BM25InvertedIndex.java)
- [BinarySearch](src/main/java/com/thealgorithms/searches/BinarySearch.java)
- [BinarySearch2dArray](src/main/java/com/thealgorithms/searches/BinarySearch2dArray.java)
- [BoyerMoore](src/main/java/com/thealgorithms/searches/BoyerMoore.java)
- [BreadthFirstSearch](src/main/java/com/thealgorithms/searches/BreadthFirstSearch.java)
- [DepthFirstSearch](src/main/java/com/thealgorithms/searches/DepthFirstSearch.java)
- [ExponentialSearch](src/main/java/com/thealgorithms/searches/ExponentialSearch.java)
- [FibonacciSearch](src/main/java/com/thealgorithms/searches/FibonacciSearch.java)
- [HowManyTimesRotated](src/main/java/com/thealgorithms/searches/HowManyTimesRotated.java)
- [InterpolationSearch](src/main/java/com/thealgorithms/searches/InterpolationSearch.java)
- [IterativeBinarySearch](src/main/java/com/thealgorithms/searches/IterativeBinarySearch.java)
- [IterativeTernarySearch](src/main/java/com/thealgorithms/searches/IterativeTernarySearch.java)
- [JumpSearch](src/main/java/com/thealgorithms/searches/JumpSearch.java)
- [KMPSearch](src/main/java/com/thealgorithms/searches/KMPSearch.java)
- [LinearSearch](src/main/java/com/thealgorithms/searches/LinearSearch.java)
- [LinearSearchThread](src/main/java/com/thealgorithms/searches/LinearSearchThread.java)
- [LowerBound](src/main/java/com/thealgorithms/searches/LowerBound.java)
- [MonteCarloTreeSearch](src/main/java/com/thealgorithms/searches/MonteCarloTreeSearch.java)
- [OrderAgnosticBinarySearch](src/main/java/com/thealgorithms/searches/OrderAgnosticBinarySearch.java)
- [QuickSelect](src/main/java/com/thealgorithms/searches/QuickSelect.java)
- [RabinKarpAlgorithm](src/main/java/com/thealgorithms/searches/RabinKarpAlgorithm.java)
- [RandomSearch](src/main/java/com/thealgorithms/searches/RandomSearch.java)
- [RecursiveBinarySearch](src/main/java/com/thealgorithms/searches/RecursiveBinarySearch.java)
- [RowColumnWiseSorted2dArrayBinarySearch](src/main/java/com/thealgorithms/searches/RowColumnWiseSorted2dArrayBinarySearch.java)
- [SaddlebackSearch](src/main/java/com/thealgorithms/searches/SaddlebackSearch.java)
- [SearchInARowAndColWiseSortedMatrix](src/main/java/com/thealgorithms/searches/SearchInARowAndColWiseSortedMatrix.java)
- [SentinelLinearSearch](src/main/java/com/thealgorithms/searches/SentinelLinearSearch.java)
- [SquareRootBinarySearch](src/main/java/com/thealgorithms/searches/SquareRootBinarySearch.java)
- [TernarySearch](src/main/java/com/thealgorithms/searches/TernarySearch.java)
- [UnionFind](src/main/java/com/thealgorithms/searches/UnionFind.java)
- [UpperBound](src/main/java/com/thealgorithms/searches/UpperBound.java)
- **slidingwindow**
- [LongestSubarrayWithSumLessOrEqualToK](src/main/java/com/thealgorithms/slidingwindow/LongestSubarrayWithSumLessOrEqualToK.java)
- [LongestSubstringWithoutRepeatingCharacters](src/main/java/com/thealgorithms/slidingwindow/LongestSubstringWithoutRepeatingCharacters.java)
- [MaxSumKSizeSubarray](src/main/java/com/thealgorithms/slidingwindow/MaxSumKSizeSubarray.java)
- [MaximumSlidingWindow](src/main/java/com/thealgorithms/slidingwindow/MaximumSlidingWindow.java)
- [MinSumKSizeSubarray](src/main/java/com/thealgorithms/slidingwindow/MinSumKSizeSubarray.java)
- [MinimumWindowSubstring](src/main/java/com/thealgorithms/slidingwindow/MinimumWindowSubstring.java)
- [ShortestCoprimeSegment](src/main/java/com/thealgorithms/slidingwindow/ShortestCoprimeSegment.java)
- **sorts**
- [AdaptiveMergeSort](src/main/java/com/thealgorithms/sorts/AdaptiveMergeSort.java)
- [BeadSort](src/main/java/com/thealgorithms/sorts/BeadSort.java)
- [BinaryInsertionSort](src/main/java/com/thealgorithms/sorts/BinaryInsertionSort.java)
- [BitonicSort](src/main/java/com/thealgorithms/sorts/BitonicSort.java)
- [BogoSort](src/main/java/com/thealgorithms/sorts/BogoSort.java)
- [BubbleSort](src/main/java/com/thealgorithms/sorts/BubbleSort.java)
- [BubbleSortRecursive](src/main/java/com/thealgorithms/sorts/BubbleSortRecursive.java)
- [BucketSort](src/main/java/com/thealgorithms/sorts/BucketSort.java)
- [CircleSort](src/main/java/com/thealgorithms/sorts/CircleSort.java)
- [CocktailShakerSort](src/main/java/com/thealgorithms/sorts/CocktailShakerSort.java)
- [CombSort](src/main/java/com/thealgorithms/sorts/CombSort.java)
- [CountingSort](src/main/java/com/thealgorithms/sorts/CountingSort.java)
- [CycleSort](src/main/java/com/thealgorithms/sorts/CycleSort.java)
- [DarkSort](src/main/java/com/thealgorithms/sorts/DarkSort.java)
- [DualPivotQuickSort](src/main/java/com/thealgorithms/sorts/DualPivotQuickSort.java)
- [DutchNationalFlagSort](src/main/java/com/thealgorithms/sorts/DutchNationalFlagSort.java)
- [ExchangeSort](src/main/java/com/thealgorithms/sorts/ExchangeSort.java)
- [FlashSort](src/main/java/com/thealgorithms/sorts/FlashSort.java)
- [GnomeSort](src/main/java/com/thealgorithms/sorts/GnomeSort.java)
- [HeapSort](src/main/java/com/thealgorithms/sorts/HeapSort.java)
- [InsertionSort](src/main/java/com/thealgorithms/sorts/InsertionSort.java)
- [IntrospectiveSort](src/main/java/com/thealgorithms/sorts/IntrospectiveSort.java)
- [LinkListSort](src/main/java/com/thealgorithms/sorts/LinkListSort.java)
- [MergeSort](src/main/java/com/thealgorithms/sorts/MergeSort.java)
- [MergeSortNoExtraSpace](src/main/java/com/thealgorithms/sorts/MergeSortNoExtraSpace.java)
- [MergeSortRecursive](src/main/java/com/thealgorithms/sorts/MergeSortRecursive.java)
- [OddEvenSort](src/main/java/com/thealgorithms/sorts/OddEvenSort.java)
- [PancakeSort](src/main/java/com/thealgorithms/sorts/PancakeSort.java)
- [PatienceSort](src/main/java/com/thealgorithms/sorts/PatienceSort.java)
- [PigeonholeSort](src/main/java/com/thealgorithms/sorts/PigeonholeSort.java)
- [PriorityQueueSort](src/main/java/com/thealgorithms/sorts/PriorityQueueSort.java)
- [QuickSort](src/main/java/com/thealgorithms/sorts/QuickSort.java)
- [RadixSort](src/main/java/com/thealgorithms/sorts/RadixSort.java)
- [SelectionSort](src/main/java/com/thealgorithms/sorts/SelectionSort.java)
- [SelectionSortRecursive](src/main/java/com/thealgorithms/sorts/SelectionSortRecursive.java)
- [ShellSort](src/main/java/com/thealgorithms/sorts/ShellSort.java)
- [SlowSort](src/main/java/com/thealgorithms/sorts/SlowSort.java)
- [SortAlgorithm](src/main/java/com/thealgorithms/sorts/SortAlgorithm.java)
- [SortUtils](src/main/java/com/thealgorithms/sorts/SortUtils.java)
- [SortUtilsRandomGenerator](src/main/java/com/thealgorithms/sorts/SortUtilsRandomGenerator.java)
- [SpreadSort](src/main/java/com/thealgorithms/sorts/SpreadSort.java)
- [StalinSort](src/main/java/com/thealgorithms/sorts/StalinSort.java)
- [StoogeSort](src/main/java/com/thealgorithms/sorts/StoogeSort.java)
- [StrandSort](src/main/java/com/thealgorithms/sorts/StrandSort.java)
- [SwapSort](src/main/java/com/thealgorithms/sorts/SwapSort.java)
- [TimSort](src/main/java/com/thealgorithms/sorts/TimSort.java)
- [TopologicalSort](src/main/java/com/thealgorithms/sorts/TopologicalSort.java)
- [TreeSort](src/main/java/com/thealgorithms/sorts/TreeSort.java)
- [WaveSort](src/main/java/com/thealgorithms/sorts/WaveSort.java)
- [WiggleSort](src/main/java/com/thealgorithms/sorts/WiggleSort.java)
- **stacks**
- [BalancedBrackets](src/main/java/com/thealgorithms/stacks/BalancedBrackets.java)
- [CelebrityFinder](src/main/java/com/thealgorithms/stacks/CelebrityFinder.java)
- [DecimalToAnyUsingStack](src/main/java/com/thealgorithms/stacks/DecimalToAnyUsingStack.java)
- [DuplicateBrackets](src/main/java/com/thealgorithms/stacks/DuplicateBrackets.java)
- [GreatestElementConstantTime](src/main/java/com/thealgorithms/stacks/GreatestElementConstantTime.java)
- [InfixToPostfix](src/main/java/com/thealgorithms/stacks/InfixToPostfix.java)
- [InfixToPrefix](src/main/java/com/thealgorithms/stacks/InfixToPrefix.java)
- [LargestRectangle](src/main/java/com/thealgorithms/stacks/LargestRectangle.java)
- [MaximumMinimumWindow](src/main/java/com/thealgorithms/stacks/MaximumMinimumWindow.java)
- [MinStackUsingSingleStack](src/main/java/com/thealgorithms/stacks/MinStackUsingSingleStack.java)
- [MinStackUsingTwoStacks](src/main/java/com/thealgorithms/stacks/MinStackUsingTwoStacks.java)
- [NextGreaterElement](src/main/java/com/thealgorithms/stacks/NextGreaterElement.java)
- [NextSmallerElement](src/main/java/com/thealgorithms/stacks/NextSmallerElement.java)
- [PalindromeWithStack](src/main/java/com/thealgorithms/stacks/PalindromeWithStack.java)
- [PostfixEvaluator](src/main/java/com/thealgorithms/stacks/PostfixEvaluator.java)
- [PostfixToInfix](src/main/java/com/thealgorithms/stacks/PostfixToInfix.java)
- [PrefixEvaluator](src/main/java/com/thealgorithms/stacks/PrefixEvaluator.java)
- [PrefixToInfix](src/main/java/com/thealgorithms/stacks/PrefixToInfix.java)
- [SmallestElementConstantTime](src/main/java/com/thealgorithms/stacks/SmallestElementConstantTime.java)
- [SortStack](src/main/java/com/thealgorithms/stacks/SortStack.java)
- [StackPostfixNotation](src/main/java/com/thealgorithms/stacks/StackPostfixNotation.java)
- [StackUsingTwoQueues](src/main/java/com/thealgorithms/stacks/StackUsingTwoQueues.java)
- [TrappingRainwater](src/main/java/com/thealgorithms/stacks/TrappingRainwater.java)
- [ValidParentheses](src/main/java/com/thealgorithms/stacks/ValidParentheses.java)
- **strings**
- [AhoCorasick](src/main/java/com/thealgorithms/strings/AhoCorasick.java)
- [Alphabetical](src/main/java/com/thealgorithms/strings/Alphabetical.java)
- [AlternativeStringArrange](src/main/java/com/thealgorithms/strings/AlternativeStringArrange.java)
- [Anagrams](src/main/java/com/thealgorithms/strings/Anagrams.java)
- [CharactersSame](src/main/java/com/thealgorithms/strings/CharactersSame.java)
- [CheckVowels](src/main/java/com/thealgorithms/strings/CheckVowels.java)
- [CountChar](src/main/java/com/thealgorithms/strings/CountChar.java)
- [CountWords](src/main/java/com/thealgorithms/strings/CountWords.java)
- [HammingDistance](src/main/java/com/thealgorithms/strings/HammingDistance.java)
- [HorspoolSearch](src/main/java/com/thealgorithms/strings/HorspoolSearch.java)
- [Isogram](src/main/java/com/thealgorithms/strings/Isogram.java)
- [Isomorphic](src/main/java/com/thealgorithms/strings/Isomorphic.java)
- [KMP](src/main/java/com/thealgorithms/strings/KMP.java)
- [LengthOfLastWord](src/main/java/com/thealgorithms/strings/LengthOfLastWord.java)
- [LetterCombinationsOfPhoneNumber](src/main/java/com/thealgorithms/strings/LetterCombinationsOfPhoneNumber.java)
- [LongestCommonPrefix](src/main/java/com/thealgorithms/strings/LongestCommonPrefix.java)
- [LongestNonRepetitiveSubstring](src/main/java/com/thealgorithms/strings/LongestNonRepetitiveSubstring.java)
- [Lower](src/main/java/com/thealgorithms/strings/Lower.java)
- [Manacher](src/main/java/com/thealgorithms/strings/Manacher.java)
- [MyAtoi](src/main/java/com/thealgorithms/strings/MyAtoi.java)
- [MoveHashToEnd](src/main/java/com/thealgorithms/strings/MoveHashToEnd.java)
- [Palindrome](src/main/java/com/thealgorithms/strings/Palindrome.java)
- [Pangram](src/main/java/com/thealgorithms/strings/Pangram.java)
- [PermuteString](src/main/java/com/thealgorithms/strings/PermuteString.java)
- [RabinKarp](src/main/java/com/thealgorithms/strings/RabinKarp.java)
- [RemoveDuplicateFromString](src/main/java/com/thealgorithms/strings/RemoveDuplicateFromString.java)
- [ReturnSubsequence](src/main/java/com/thealgorithms/strings/ReturnSubsequence.java)
- [ReverseString](src/main/java/com/thealgorithms/strings/ReverseString.java)
- [ReverseWordsInString](src/main/java/com/thealgorithms/strings/ReverseWordsInString.java)
- [Rotation](src/main/java/com/thealgorithms/strings/Rotation.java)
- [StringCompression](src/main/java/com/thealgorithms/strings/StringCompression.java)
- [StringMatchFiniteAutomata](src/main/java/com/thealgorithms/strings/StringMatchFiniteAutomata.java)
- [SuffixArray](src/main/java/com/thealgorithms/strings/SuffixArray.java)
- [Upper](src/main/java/com/thealgorithms/strings/Upper.java)
- [WordLadder](src/main/java/com/thealgorithms/strings/WordLadder.java)
- [ZAlgorithm](src/main/java/com/thealgorithms/strings/ZAlgorithm.java)
- **zigZagPattern**
- [ZigZagPattern](src/main/java/com/thealgorithms/strings/zigZagPattern/ZigZagPattern.java)
- **tree**
- [HeavyLightDecomposition](src/main/java/com/thealgorithms/tree/HeavyLightDecomposition.java)
- **test**
- **java**
- **com**
- **thealgorithms**
- **audiofilters**
- [EMAFilterTest](src/test/java/com/thealgorithms/audiofilters/EMAFilterTest.java)
- [IIRFilterTest](src/test/java/com/thealgorithms/audiofilters/IIRFilterTest.java)
- **backtracking**
- [AllPathsFromSourceToTargetTest](src/test/java/com/thealgorithms/backtracking/AllPathsFromSourceToTargetTest.java)
- [ArrayCombinationTest](src/test/java/com/thealgorithms/backtracking/ArrayCombinationTest.java)
- [CombinationSumTest](src/test/java/com/thealgorithms/backtracking/CombinationSumTest.java)
- [CombinationTest](src/test/java/com/thealgorithms/backtracking/CombinationTest.java)
- [CrosswordSolverTest](src/test/java/com/thealgorithms/backtracking/CrosswordSolverTest.java)
- [FloodFillTest](src/test/java/com/thealgorithms/backtracking/FloodFillTest.java)
- [KnightsTourTest](src/test/java/com/thealgorithms/backtracking/KnightsTourTest.java)
- [MColoringTest](src/test/java/com/thealgorithms/backtracking/MColoringTest.java)
- [MazeRecursionTest](src/test/java/com/thealgorithms/backtracking/MazeRecursionTest.java)
- [NQueensTest](src/test/java/com/thealgorithms/backtracking/NQueensTest.java)
- [ParenthesesGeneratorTest](src/test/java/com/thealgorithms/backtracking/ParenthesesGeneratorTest.java)
- [PermutationTest](src/test/java/com/thealgorithms/backtracking/PermutationTest.java)
- [PowerSumTest](src/test/java/com/thealgorithms/backtracking/PowerSumTest.java)
- [SubsequenceFinderTest](src/test/java/com/thealgorithms/backtracking/SubsequenceFinderTest.java)
- [SudokuSolverTest](src/test/java/com/thealgorithms/backtracking/SudokuSolverTest.java)
- [UniquePermutationTest](src/test/java/com/thealgorithms/backtracking/UniquePermutationTest.java)
- [WordPatternMatcherTest](src/test/java/com/thealgorithms/backtracking/WordPatternMatcherTest.java)
- [WordSearchTest](src/test/java/com/thealgorithms/backtracking/WordSearchTest.java)
- **bitmanipulation**
- [BcdConversionTest](src/test/java/com/thealgorithms/bitmanipulation/BcdConversionTest.java)
- [BinaryPalindromeCheckTest](src/test/java/com/thealgorithms/bitmanipulation/BinaryPalindromeCheckTest.java)
- [BitRotateTest](src/test/java/com/thealgorithms/bitmanipulation/BitRotateTest.java)
- [BitSwapTest](src/test/java/com/thealgorithms/bitmanipulation/BitSwapTest.java)
- [BitwiseGCDTest](src/test/java/com/thealgorithms/bitmanipulation/BitwiseGCDTest.java)
- [BooleanAlgebraGatesTest](src/test/java/com/thealgorithms/bitmanipulation/BooleanAlgebraGatesTest.java)
- [ClearLeftmostSetBitTest](src/test/java/com/thealgorithms/bitmanipulation/ClearLeftmostSetBitTest.java)
- [CountBitsFlipTest](src/test/java/com/thealgorithms/bitmanipulation/CountBitsFlipTest.java)
- [CountLeadingZerosTest](src/test/java/com/thealgorithms/bitmanipulation/CountLeadingZerosTest.java)
- [CountSetBitsTest](src/test/java/com/thealgorithms/bitmanipulation/CountSetBitsTest.java)
- [FindNthBitTest](src/test/java/com/thealgorithms/bitmanipulation/FindNthBitTest.java)
- [FirstDifferentBitTest](src/test/java/com/thealgorithms/bitmanipulation/FirstDifferentBitTest.java)
- [GenerateSubsetsTest](src/test/java/com/thealgorithms/bitmanipulation/GenerateSubsetsTest.java)
- [GrayCodeConversionTest](src/test/java/com/thealgorithms/bitmanipulation/GrayCodeConversionTest.java)
- [HammingDistanceTest](src/test/java/com/thealgorithms/bitmanipulation/HammingDistanceTest.java)
- [HigherLowerPowerOfTwoTest](src/test/java/com/thealgorithms/bitmanipulation/HigherLowerPowerOfTwoTest.java)
- [HighestSetBitTest](src/test/java/com/thealgorithms/bitmanipulation/HighestSetBitTest.java)
- [IndexOfRightMostSetBitTest](src/test/java/com/thealgorithms/bitmanipulation/IndexOfRightMostSetBitTest.java)
- [IsEvenTest](src/test/java/com/thealgorithms/bitmanipulation/IsEvenTest.java)
- [IsPowerTwoTest](src/test/java/com/thealgorithms/bitmanipulation/IsPowerTwoTest.java)
- [LowestSetBitTest](src/test/java/com/thealgorithms/bitmanipulation/LowestSetBitTest.java)
- [ModuloPowerOfTwoTest](src/test/java/com/thealgorithms/bitmanipulation/ModuloPowerOfTwoTest.java)
- [NextHigherSameBitCountTest](src/test/java/com/thealgorithms/bitmanipulation/NextHigherSameBitCountTest.java)
- [NonRepeatingNumberFinderTest](src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java)
- [NumberAppearingOddTimesTest](src/test/java/com/thealgorithms/bitmanipulation/NumberAppearingOddTimesTest.java)
- [NumbersDifferentSignsTest](src/test/java/com/thealgorithms/bitmanipulation/NumbersDifferentSignsTest.java)
- [OneBitDifferenceTest](src/test/java/com/thealgorithms/bitmanipulation/OneBitDifferenceTest.java)
- [OnesComplementTest](src/test/java/com/thealgorithms/bitmanipulation/OnesComplementTest.java)
- [ParityCheckTest](src/test/java/com/thealgorithms/bitmanipulation/ParityCheckTest.java)
- [ReverseBitsTest](src/test/java/com/thealgorithms/bitmanipulation/ReverseBitsTest.java)
- [SingleBitOperationsTest](src/test/java/com/thealgorithms/bitmanipulation/SingleBitOperationsTest.java)
- [SingleElementTest](src/test/java/com/thealgorithms/bitmanipulation/SingleElementTest.java)
- [SwapAdjacentBitsTest](src/test/java/com/thealgorithms/bitmanipulation/SwapAdjacentBitsTest.java)
- [TwosComplementTest](src/test/java/com/thealgorithms/bitmanipulation/TwosComplementTest.java)
- [Xs3ConversionTest](src/test/java/com/thealgorithms/bitmanipulation/Xs3ConversionTest.java)
- **ciphers**
- [ADFGVXCipherTest](src/test/java/com/thealgorithms/ciphers/ADFGVXCipherTest.java)
- [AESEncryptionTest](src/test/java/com/thealgorithms/ciphers/AESEncryptionTest.java)
- [AffineCipherTest](src/test/java/com/thealgorithms/ciphers/AffineCipherTest.java)
- [AtbashTest](src/test/java/com/thealgorithms/ciphers/AtbashTest.java)
- [AutokeyTest](src/test/java/com/thealgorithms/ciphers/AutokeyTest.java)
- [BaconianCipherTest](src/test/java/com/thealgorithms/ciphers/BaconianCipherTest.java)
- [BlowfishTest](src/test/java/com/thealgorithms/ciphers/BlowfishTest.java)
- [CaesarTest](src/test/java/com/thealgorithms/ciphers/CaesarTest.java)
- [ColumnarTranspositionCipherTest](src/test/java/com/thealgorithms/ciphers/ColumnarTranspositionCipherTest.java)
- [DESTest](src/test/java/com/thealgorithms/ciphers/DESTest.java)
- [DiffieHellmanTest](src/test/java/com/thealgorithms/ciphers/DiffieHellmanTest.java)
- [ECCTest](src/test/java/com/thealgorithms/ciphers/ECCTest.java)
- [HillCipherTest](src/test/java/com/thealgorithms/ciphers/HillCipherTest.java)
- [MonoAlphabeticTest](src/test/java/com/thealgorithms/ciphers/MonoAlphabeticTest.java)
- [OneTimePadCipherTest](src/test/java/com/thealgorithms/ciphers/OneTimePadCipherTest.java)
- [PermutationCipherTest](src/test/java/com/thealgorithms/ciphers/PermutationCipherTest.java)
- [PlayfairTest](src/test/java/com/thealgorithms/ciphers/PlayfairTest.java)
- [PolybiusTest](src/test/java/com/thealgorithms/ciphers/PolybiusTest.java)
- [RSATest](src/test/java/com/thealgorithms/ciphers/RSATest.java)
- [RailFenceTest](src/test/java/com/thealgorithms/ciphers/RailFenceTest.java)
- [SimpleSubCipherTest](src/test/java/com/thealgorithms/ciphers/SimpleSubCipherTest.java)
- [VigenereTest](src/test/java/com/thealgorithms/ciphers/VigenereTest.java)
- [XORCipherTest](src/test/java/com/thealgorithms/ciphers/XORCipherTest.java)
- **a5**
- [A5CipherTest](src/test/java/com/thealgorithms/ciphers/a5/A5CipherTest.java)
- [A5KeyStreamGeneratorTest](src/test/java/com/thealgorithms/ciphers/a5/A5KeyStreamGeneratorTest.java)
- [LFSRTest](src/test/java/com/thealgorithms/ciphers/a5/LFSRTest.java)
- **compression**
- [ArithmeticCodingTest](src/test/java/com/thealgorithms/compression/ArithmeticCodingTest.java)
- [BurrowsWheelerTransformTest](src/test/java/com/thealgorithms/compression/BurrowsWheelerTransformTest.java)
- [LZ77Test](src/test/java/com/thealgorithms/compression/LZ77Test.java)
- [LZ78Test](src/test/java/com/thealgorithms/compression/LZ78Test.java)
- [LZWTest](src/test/java/com/thealgorithms/compression/LZWTest.java)
- [MoveToFrontTest](src/test/java/com/thealgorithms/compression/MoveToFrontTest.java)
- [RunLengthEncodingTest](src/test/java/com/thealgorithms/compression/RunLengthEncodingTest.java)
- [ShannonFanoTest](src/test/java/com/thealgorithms/compression/ShannonFanoTest.java)
- **conversions**
- [AffineConverterTest](src/test/java/com/thealgorithms/conversions/AffineConverterTest.java)
- [AnyBaseToDecimalTest](src/test/java/com/thealgorithms/conversions/AnyBaseToDecimalTest.java)
- [AnytoAnyTest](src/test/java/com/thealgorithms/conversions/AnytoAnyTest.java)
- [Base64Test](src/test/java/com/thealgorithms/conversions/Base64Test.java)
- [BinaryToDecimalTest](src/test/java/com/thealgorithms/conversions/BinaryToDecimalTest.java)
- [BinaryToHexadecimalTest](src/test/java/com/thealgorithms/conversions/BinaryToHexadecimalTest.java)
- [BinaryToOctalTest](src/test/java/com/thealgorithms/conversions/BinaryToOctalTest.java)
- [CoordinateConverterTest](src/test/java/com/thealgorithms/conversions/CoordinateConverterTest.java)
- [DecimalToAnyBaseTest](src/test/java/com/thealgorithms/conversions/DecimalToAnyBaseTest.java)
- [DecimalToBinaryTest](src/test/java/com/thealgorithms/conversions/DecimalToBinaryTest.java)
- [DecimalToHexadecimalTest](src/test/java/com/thealgorithms/conversions/DecimalToHexadecimalTest.java)
- [DecimalToOctalTest](src/test/java/com/thealgorithms/conversions/DecimalToOctalTest.java)
- [EndianConverterTest](src/test/java/com/thealgorithms/conversions/EndianConverterTest.java)
- [HexToOctTest](src/test/java/com/thealgorithms/conversions/HexToOctTest.java)
- [HexaDecimalToBinaryTest](src/test/java/com/thealgorithms/conversions/HexaDecimalToBinaryTest.java)
- [HexaDecimalToDecimalTest](src/test/java/com/thealgorithms/conversions/HexaDecimalToDecimalTest.java)
- [IPConverterTest](src/test/java/com/thealgorithms/conversions/IPConverterTest.java)
- [IPv6ConverterTest](src/test/java/com/thealgorithms/conversions/IPv6ConverterTest.java)
- [IntegerToEnglishTest](src/test/java/com/thealgorithms/conversions/IntegerToEnglishTest.java)
- [IntegerToRomanTest](src/test/java/com/thealgorithms/conversions/IntegerToRomanTest.java)
- [MorseCodeConverterTest](src/test/java/com/thealgorithms/conversions/MorseCodeConverterTest.java)
- [NumberToWordsTest](src/test/java/com/thealgorithms/conversions/NumberToWordsTest.java)
- [OctalToBinaryTest](src/test/java/com/thealgorithms/conversions/OctalToBinaryTest.java)
- [OctalToDecimalTest](src/test/java/com/thealgorithms/conversions/OctalToDecimalTest.java)
- [OctalToHexadecimalTest](src/test/java/com/thealgorithms/conversions/OctalToHexadecimalTest.java)
- [PhoneticAlphabetConverterTest](src/test/java/com/thealgorithms/conversions/PhoneticAlphabetConverterTest.java)
- [RomanToIntegerTest](src/test/java/com/thealgorithms/conversions/RomanToIntegerTest.java)
- [TemperatureConverterTest](src/test/java/com/thealgorithms/conversions/TemperatureConverterTest.java)
- [TimeConverterTest](src/test/java/com/thealgorithms/conversions/TimeConverterTest.java)
- [TurkishToLatinConversionTest](src/test/java/com/thealgorithms/conversions/TurkishToLatinConversionTest.java)
- [UnitConversionsTest](src/test/java/com/thealgorithms/conversions/UnitConversionsTest.java)
- [UnitsConverterTest](src/test/java/com/thealgorithms/conversions/UnitsConverterTest.java)
- [WordsToNumberTest](src/test/java/com/thealgorithms/conversions/WordsToNumberTest.java)
- **datastructures**
- **bag**
- [BagTest](src/test/java/com/thealgorithms/datastructures/bag/BagTest.java)
- **bloomfilter**
- [BloomFilterTest](src/test/java/com/thealgorithms/datastructures/bloomfilter/BloomFilterTest.java)
- **buffers**
- [CircularBufferTest](src/test/java/com/thealgorithms/datastructures/buffers/CircularBufferTest.java)
- **caches**
- [FIFOCacheTest](src/test/java/com/thealgorithms/datastructures/caches/FIFOCacheTest.java)
- [LFUCacheTest](src/test/java/com/thealgorithms/datastructures/caches/LFUCacheTest.java)
- [LIFOCacheTest](src/test/java/com/thealgorithms/datastructures/caches/LIFOCacheTest.java)
- [LRUCacheTest](src/test/java/com/thealgorithms/datastructures/caches/LRUCacheTest.java)
- [MRUCacheTest](src/test/java/com/thealgorithms/datastructures/caches/MRUCacheTest.java)
- [RRCacheTest](src/test/java/com/thealgorithms/datastructures/caches/RRCacheTest.java)
- **crdt**
- [GCounterTest](src/test/java/com/thealgorithms/datastructures/crdt/GCounterTest.java)
- [GSetTest](src/test/java/com/thealgorithms/datastructures/crdt/GSetTest.java)
- [LWWElementSetTest](src/test/java/com/thealgorithms/datastructures/crdt/LWWElementSetTest.java)
- [ORSetTest](src/test/java/com/thealgorithms/datastructures/crdt/ORSetTest.java)
- [PNCounterTest](src/test/java/com/thealgorithms/datastructures/crdt/PNCounterTest.java)
- [TwoPSetTest](src/test/java/com/thealgorithms/datastructures/crdt/TwoPSetTest.java)
- **disjointsetunion**
- [DisjointSetUnionBySizeTest](src/test/java/com/thealgorithms/datastructures/disjointsetunion/DisjointSetUnionBySizeTest.java)
- [DisjointSetUnionTest](src/test/java/com/thealgorithms/datastructures/disjointsetunion/DisjointSetUnionTest.java)
- **dynamicarray**
- [DynamicArrayTest](src/test/java/com/thealgorithms/datastructures/dynamicarray/DynamicArrayTest.java)
- **graphs**
- [AStarTest](src/test/java/com/thealgorithms/datastructures/graphs/AStarTest.java)
- [BellmanFordTest](src/test/java/com/thealgorithms/datastructures/graphs/BellmanFordTest.java)
- [BipartiteGraphDFSTest](src/test/java/com/thealgorithms/datastructures/graphs/BipartiteGraphDFSTest.java)
- [BoruvkaAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/BoruvkaAlgorithmTest.java)
- [ConnectedComponentTest](src/test/java/com/thealgorithms/datastructures/graphs/ConnectedComponentTest.java)
- [DialsAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/DialsAlgorithmTest.java)
- [DijkstraAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/DijkstraAlgorithmTest.java)
- [DijkstraOptimizedAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/DijkstraOptimizedAlgorithmTest.java)
- [EdmondsBlossomAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/EdmondsBlossomAlgorithmTest.java)
- [FloydWarshallTest](src/test/java/com/thealgorithms/datastructures/graphs/FloydWarshallTest.java)
- [FordFulkersonTest](src/test/java/com/thealgorithms/datastructures/graphs/FordFulkersonTest.java)
- [HamiltonianCycleTest](src/test/java/com/thealgorithms/datastructures/graphs/HamiltonianCycleTest.java)
- [JohnsonsAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/JohnsonsAlgorithmTest.java)
- [KahnsAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/KahnsAlgorithmTest.java)
- [KosarajuTest](src/test/java/com/thealgorithms/datastructures/graphs/KosarajuTest.java)
- [KruskalTest](src/test/java/com/thealgorithms/datastructures/graphs/KruskalTest.java)
- [MatrixGraphsTest](src/test/java/com/thealgorithms/datastructures/graphs/MatrixGraphsTest.java)
- [PrimMSTTest](src/test/java/com/thealgorithms/datastructures/graphs/PrimMSTTest.java)
- [TarjansAlgorithmTest](src/test/java/com/thealgorithms/datastructures/graphs/TarjansAlgorithmTest.java)
- [TwoSatTest](src/test/java/com/thealgorithms/datastructures/graphs/TwoSatTest.java)
- [WelshPowellTest](src/test/java/com/thealgorithms/datastructures/graphs/WelshPowellTest.java)
- **hashmap**
- **hashing**
- [GenericHashMapUsingArrayListTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/GenericHashMapUsingArrayListTest.java)
- [GenericHashMapUsingArrayTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/GenericHashMapUsingArrayTest.java)
- [HashMapCuckooHashingTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/HashMapCuckooHashingTest.java)
- [HashMapTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/HashMapTest.java)
- [ImmutableHashMapTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/ImmutableHashMapTest.java)
- [IntersectionTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/IntersectionTest.java)
- [LinearProbingHashMapTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/LinearProbingHashMapTest.java)
- [MajorityElementTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/MajorityElementTest.java)
- [MapTest](src/test/java/com/thealgorithms/datastructures/hashmap/hashing/MapTest.java)
- **heaps**
- [FibonacciHeapTest](src/test/java/com/thealgorithms/datastructures/heaps/FibonacciHeapTest.java)
- [GenericHeapTest](src/test/java/com/thealgorithms/datastructures/heaps/GenericHeapTest.java)
- [HeapElementTest](src/test/java/com/thealgorithms/datastructures/heaps/HeapElementTest.java)
- [IndexedPriorityQueueTest](src/test/java/com/thealgorithms/datastructures/heaps/IndexedPriorityQueueTest.java)
- [KthElementFinderTest](src/test/java/com/thealgorithms/datastructures/heaps/KthElementFinderTest.java)
- [LeftistHeapTest](src/test/java/com/thealgorithms/datastructures/heaps/LeftistHeapTest.java)
- [MaxHeapTest](src/test/java/com/thealgorithms/datastructures/heaps/MaxHeapTest.java)
- [MedianFinderTest](src/test/java/com/thealgorithms/datastructures/heaps/MedianFinderTest.java)
- [MergeKSortedArraysTest](src/test/java/com/thealgorithms/datastructures/heaps/MergeKSortedArraysTest.java)
- [MinHeapTest](src/test/java/com/thealgorithms/datastructures/heaps/MinHeapTest.java)
- [MinPriorityQueueTest](src/test/java/com/thealgorithms/datastructures/heaps/MinPriorityQueueTest.java)
- **lists**
- [CircleLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/CircleLinkedListTest.java)
- [CircularDoublyLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/CircularDoublyLinkedListTest.java)
- [CountSinglyLinkedListRecursionTest](src/test/java/com/thealgorithms/datastructures/lists/CountSinglyLinkedListRecursionTest.java)
- [CreateAndDetectLoopTest](src/test/java/com/thealgorithms/datastructures/lists/CreateAndDetectLoopTest.java)
- [CursorLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/CursorLinkedListTest.java)
- [FlattenMultilevelLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/FlattenMultilevelLinkedListTest.java)
- [MergeKSortedLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/MergeKSortedLinkedListTest.java)
- [MergeSortedArrayListTest](src/test/java/com/thealgorithms/datastructures/lists/MergeSortedArrayListTest.java)
- [MergeSortedSinglyLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/MergeSortedSinglyLinkedListTest.java)
- [QuickSortLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/QuickSortLinkedListTest.java)
- [ReverseKGroupTest](src/test/java/com/thealgorithms/datastructures/lists/ReverseKGroupTest.java)
- [RotateSinglyLinkedListsTest](src/test/java/com/thealgorithms/datastructures/lists/RotateSinglyLinkedListsTest.java)
- [SearchSinglyLinkedListRecursionTest](src/test/java/com/thealgorithms/datastructures/lists/SearchSinglyLinkedListRecursionTest.java)
- [SinglyLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/SinglyLinkedListTest.java)
- [SkipListTest](src/test/java/com/thealgorithms/datastructures/lists/SkipListTest.java)
- [SortedLinkedListTest](src/test/java/com/thealgorithms/datastructures/lists/SortedLinkedListTest.java)
- [TortoiseHareAlgoTest](src/test/java/com/thealgorithms/datastructures/lists/TortoiseHareAlgoTest.java)
- **queues**
- [CircularQueueTest](src/test/java/com/thealgorithms/datastructures/queues/CircularQueueTest.java)
- [DequeTest](src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java)
- [GenericArrayListQueueTest](src/test/java/com/thealgorithms/datastructures/queues/GenericArrayListQueueTest.java)
- [LinkedQueueTest](src/test/java/com/thealgorithms/datastructures/queues/LinkedQueueTest.java)
- [PriorityQueuesTest](src/test/java/com/thealgorithms/datastructures/queues/PriorityQueuesTest.java)
- [QueueByTwoStacksTest](src/test/java/com/thealgorithms/datastructures/queues/QueueByTwoStacksTest.java)
- [QueueTest](src/test/java/com/thealgorithms/datastructures/queues/QueueTest.java)
- [SlidingWindowMaximumTest](src/test/java/com/thealgorithms/datastructures/queues/SlidingWindowMaximumTest.java)
- [TokenBucketTest](src/test/java/com/thealgorithms/datastructures/queues/TokenBucketTest.java)
- **stacks**
- [NodeStackTest](src/test/java/com/thealgorithms/datastructures/stacks/NodeStackTest.java)
- [ReverseStackTest](src/test/java/com/thealgorithms/datastructures/stacks/ReverseStackTest.java)
- [StackArrayListTest](src/test/java/com/thealgorithms/datastructures/stacks/StackArrayListTest.java)
- [StackArrayTest](src/test/java/com/thealgorithms/datastructures/stacks/StackArrayTest.java)
- [StackOfLinkedListTest](src/test/java/com/thealgorithms/datastructures/stacks/StackOfLinkedListTest.java)
- **trees**
- [AVLTreeTest](src/test/java/com/thealgorithms/datastructures/trees/AVLTreeTest.java)
- [BSTFromSortedArrayTest](src/test/java/com/thealgorithms/datastructures/trees/BSTFromSortedArrayTest.java)
- [BSTIterativeTest](src/test/java/com/thealgorithms/datastructures/trees/BSTIterativeTest.java)
- [BSTRecursiveGenericTest](src/test/java/com/thealgorithms/datastructures/trees/BSTRecursiveGenericTest.java)
- [BSTRecursiveTest](src/test/java/com/thealgorithms/datastructures/trees/BSTRecursiveTest.java)
- [BTreeTest](src/test/java/com/thealgorithms/datastructures/trees/BTreeTest.java)
- [BinaryTreeTest](src/test/java/com/thealgorithms/datastructures/trees/BinaryTreeTest.java)
- [BinaryTreeToStringTest](src/test/java/com/thealgorithms/datastructures/trees/BinaryTreeToStringTest.java)
- [BoundaryTraversalTest](src/test/java/com/thealgorithms/datastructures/trees/BoundaryTraversalTest.java)
- [CeilInBinarySearchTreeTest](src/test/java/com/thealgorithms/datastructures/trees/CeilInBinarySearchTreeTest.java)
- [CentroidDecompositionTest](src/test/java/com/thealgorithms/datastructures/trees/CentroidDecompositionTest.java)
- [CheckBinaryTreeIsValidBSTTest](src/test/java/com/thealgorithms/datastructures/trees/CheckBinaryTreeIsValidBSTTest.java)
- [CheckIfBinaryTreeBalancedTest](src/test/java/com/thealgorithms/datastructures/trees/CheckIfBinaryTreeBalancedTest.java)
- [CheckTreeIsSymmetricTest](src/test/java/com/thealgorithms/datastructures/trees/CheckTreeIsSymmetricTest.java)
- [CreateBinaryTreeFromInorderPreorderTest](src/test/java/com/thealgorithms/datastructures/trees/CreateBinaryTreeFromInorderPreorderTest.java)
- [InorderTraversalTest](src/test/java/com/thealgorithms/datastructures/trees/InorderTraversalTest.java)
- [KDTreeTest](src/test/java/com/thealgorithms/datastructures/trees/KDTreeTest.java)
- [LazySegmentTreeTest](src/test/java/com/thealgorithms/datastructures/trees/LazySegmentTreeTest.java)
- [LevelOrderTraversalTest](src/test/java/com/thealgorithms/datastructures/trees/LevelOrderTraversalTest.java)
- [PostOrderTraversalTest](src/test/java/com/thealgorithms/datastructures/trees/PostOrderTraversalTest.java)
- [PreOrderTraversalTest](src/test/java/com/thealgorithms/datastructures/trees/PreOrderTraversalTest.java)
- [QuadTreeTest](src/test/java/com/thealgorithms/datastructures/trees/QuadTreeTest.java)
- [SameTreesCheckTest](src/test/java/com/thealgorithms/datastructures/trees/SameTreesCheckTest.java)
- [SplayTreeTest](src/test/java/com/thealgorithms/datastructures/trees/SplayTreeTest.java)
- [ThreadedBinaryTreeTest](src/test/java/com/thealgorithms/datastructures/trees/ThreadedBinaryTreeTest.java)
- [TreapTest](src/test/java/com/thealgorithms/datastructures/trees/TreapTest.java)
- [TreeTestUtils](src/test/java/com/thealgorithms/datastructures/trees/TreeTestUtils.java)
- [TrieTest](src/test/java/com/thealgorithms/datastructures/trees/TrieTest.java)
- [VerticalOrderTraversalTest](src/test/java/com/thealgorithms/datastructures/trees/VerticalOrderTraversalTest.java)
- [ZigzagTraversalTest](src/test/java/com/thealgorithms/datastructures/trees/ZigzagTraversalTest.java)
- **devutils**
- **entities**
- [ProcessDetailsTest](src/test/java/com/thealgorithms/devutils/entities/ProcessDetailsTest.java)
- **divideandconquer**
- [BinaryExponentiationTest](src/test/java/com/thealgorithms/divideandconquer/BinaryExponentiationTest.java)
- [ClosestPairTest](src/test/java/com/thealgorithms/divideandconquer/ClosestPairTest.java)
- [CountingInversionsTest](src/test/java/com/thealgorithms/divideandconquer/CountingInversionsTest.java)
- [MedianOfTwoSortedArraysTest](src/test/java/com/thealgorithms/divideandconquer/MedianOfTwoSortedArraysTest.java)
- [SkylineAlgorithmTest](src/test/java/com/thealgorithms/divideandconquer/SkylineAlgorithmTest.java)
- [StrassenMatrixMultiplicationTest](src/test/java/com/thealgorithms/divideandconquer/StrassenMatrixMultiplicationTest.java)
- [TilingProblemTest](src/test/java/com/thealgorithms/divideandconquer/TilingProblemTest.java)
- **dynamicprogramming**
- [AbbreviationTest](src/test/java/com/thealgorithms/dynamicprogramming/AbbreviationTest.java)
- [AllConstructTest](src/test/java/com/thealgorithms/dynamicprogramming/AllConstructTest.java)
- [AssignmentUsingBitmaskTest](src/test/java/com/thealgorithms/dynamicprogramming/AssignmentUsingBitmaskTest.java)
- [BoardPathTest](src/test/java/com/thealgorithms/dynamicprogramming/BoardPathTest.java)
- [BoundaryFillTest](src/test/java/com/thealgorithms/dynamicprogramming/BoundaryFillTest.java)
- [BruteForceKnapsackTest](src/test/java/com/thealgorithms/dynamicprogramming/BruteForceKnapsackTest.java)
- [CatalanNumberTest](src/test/java/com/thealgorithms/dynamicprogramming/CatalanNumberTest.java)
- [ClimbStairsTest](src/test/java/com/thealgorithms/dynamicprogramming/ClimbStairsTest.java)
- [CoinChangeTest](src/test/java/com/thealgorithms/dynamicprogramming/CoinChangeTest.java)
- [CountFriendsPairingTest](src/test/java/com/thealgorithms/dynamicprogramming/CountFriendsPairingTest.java)
- [DPTest](src/test/java/com/thealgorithms/dynamicprogramming/DPTest.java)
- [DamerauLevenshteinDistanceTest](src/test/java/com/thealgorithms/dynamicprogramming/DamerauLevenshteinDistanceTest.java)
- [EditDistanceTest](src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java)
- [EggDroppingTest](src/test/java/com/thealgorithms/dynamicprogramming/EggDroppingTest.java)
- [FibonacciTest](src/test/java/com/thealgorithms/dynamicprogramming/FibonacciTest.java)
- [KadaneAlgorithmTest](src/test/java/com/thealgorithms/dynamicprogramming/KadaneAlgorithmTest.java)
- [KnapsackMemoizationTest](src/test/java/com/thealgorithms/dynamicprogramming/KnapsackMemoizationTest.java)
- [KnapsackTest](src/test/java/com/thealgorithms/dynamicprogramming/KnapsackTest.java)
- [KnapsackZeroOneTabulationTest](src/test/java/com/thealgorithms/dynamicprogramming/KnapsackZeroOneTabulationTest.java)
- [KnapsackZeroOneTest](src/test/java/com/thealgorithms/dynamicprogramming/KnapsackZeroOneTest.java)
- [LevenshteinDistanceTests](src/test/java/com/thealgorithms/dynamicprogramming/LevenshteinDistanceTests.java)
- [LongestAlternatingSubsequenceTest](src/test/java/com/thealgorithms/dynamicprogramming/LongestAlternatingSubsequenceTest.java)
- [LongestArithmeticSubsequenceTest](src/test/java/com/thealgorithms/dynamicprogramming/LongestArithmeticSubsequenceTest.java)
- [LongestCommonSubsequenceTest](src/test/java/com/thealgorithms/dynamicprogramming/LongestCommonSubsequenceTest.java)
- [LongestIncreasingSubsequenceNLogNTest](src/test/java/com/thealgorithms/dynamicprogramming/LongestIncreasingSubsequenceNLogNTest.java)
- [LongestIncreasingSubsequenceTests](src/test/java/com/thealgorithms/dynamicprogramming/LongestIncreasingSubsequenceTests.java)
- [LongestPalindromicSubstringTest](src/test/java/com/thealgorithms/dynamicprogramming/LongestPalindromicSubstringTest.java)
- [LongestValidParenthesesTest](src/test/java/com/thealgorithms/dynamicprogramming/LongestValidParenthesesTest.java)
- [MatrixChainMultiplicationTest](src/test/java/com/thealgorithms/dynamicprogramming/MatrixChainMultiplicationTest.java)
- [MatrixChainRecursiveTopDownMemoisationTest](src/test/java/com/thealgorithms/dynamicprogramming/MatrixChainRecursiveTopDownMemoisationTest.java)
- [MaximumProductSubarrayTest](src/test/java/com/thealgorithms/dynamicprogramming/MaximumProductSubarrayTest.java)
- [MaximumSumOfNonAdjacentElementsTest](src/test/java/com/thealgorithms/dynamicprogramming/MaximumSumOfNonAdjacentElementsTest.java)
- [MinimumPathSumTest](src/test/java/com/thealgorithms/dynamicprogramming/MinimumPathSumTest.java)
- [MinimumSumPartitionTest](src/test/java/com/thealgorithms/dynamicprogramming/MinimumSumPartitionTest.java)
- [NeedlemanWunschTest](src/test/java/com/thealgorithms/dynamicprogramming/NeedlemanWunschTest.java)
- [NewManShanksPrimeTest](src/test/java/com/thealgorithms/dynamicprogramming/NewManShanksPrimeTest.java)
- [OptimalJobSchedulingTest](src/test/java/com/thealgorithms/dynamicprogramming/OptimalJobSchedulingTest.java)
- [PalindromicPartitioningTest](src/test/java/com/thealgorithms/dynamicprogramming/PalindromicPartitioningTest.java)
- [PartitionProblemTest](src/test/java/com/thealgorithms/dynamicprogramming/PartitionProblemTest.java)
- [RegexMatchingTest](src/test/java/com/thealgorithms/dynamicprogramming/RegexMatchingTest.java)
- [RodCuttingTest](src/test/java/com/thealgorithms/dynamicprogramming/RodCuttingTest.java)
- [ShortestCommonSupersequenceLengthTest](src/test/java/com/thealgorithms/dynamicprogramming/ShortestCommonSupersequenceLengthTest.java)
- [SmithWatermanTest](src/test/java/com/thealgorithms/dynamicprogramming/SmithWatermanTest.java)
- [SubsetCountTest](src/test/java/com/thealgorithms/dynamicprogramming/SubsetCountTest.java)
- [SubsetSumSpaceOptimizedTest](src/test/java/com/thealgorithms/dynamicprogramming/SubsetSumSpaceOptimizedTest.java)
- [SubsetSumTest](src/test/java/com/thealgorithms/dynamicprogramming/SubsetSumTest.java)
- [SumOfSubsetTest](src/test/java/com/thealgorithms/dynamicprogramming/SumOfSubsetTest.java)
- [TreeMatchingTest](src/test/java/com/thealgorithms/dynamicprogramming/TreeMatchingTest.java)
- [TribonacciTest](src/test/java/com/thealgorithms/dynamicprogramming/TribonacciTest.java)
- [UniquePathsTests](src/test/java/com/thealgorithms/dynamicprogramming/UniquePathsTests.java)
- [UniqueSubsequencesCountTest](src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java)
- [WildcardMatchingTest](src/test/java/com/thealgorithms/dynamicprogramming/WildcardMatchingTest.java)
- [WineProblemTest](src/test/java/com/thealgorithms/dynamicprogramming/WineProblemTest.java)
- **geometry**
- [BentleyOttmannTest](src/test/java/com/thealgorithms/geometry/BentleyOttmannTest.java)
- [BresenhamLineTest](src/test/java/com/thealgorithms/geometry/BresenhamLineTest.java)
- [ConvexHullTest](src/test/java/com/thealgorithms/geometry/ConvexHullTest.java)
- [DDALineTest](src/test/java/com/thealgorithms/geometry/DDALineTest.java)
- [GrahamScanTest](src/test/java/com/thealgorithms/geometry/GrahamScanTest.java)
- [HaversineTest](src/test/java/com/thealgorithms/geometry/HaversineTest.java)
- [MidpointCircleTest](src/test/java/com/thealgorithms/geometry/MidpointCircleTest.java)
- [MidpointEllipseTest](src/test/java/com/thealgorithms/geometry/MidpointEllipseTest.java)
- [PointTest](src/test/java/com/thealgorithms/geometry/PointTest.java)
- [WusLineTest](src/test/java/com/thealgorithms/geometry/WusLineTest.java)
- **graph**
- [BronKerboschTest](src/test/java/com/thealgorithms/graph/BronKerboschTest.java)
- [ConstrainedShortestPathTest](src/test/java/com/thealgorithms/graph/ConstrainedShortestPathTest.java)
- [DinicTest](src/test/java/com/thealgorithms/graph/DinicTest.java)
- [EdmondsKarpTest](src/test/java/com/thealgorithms/graph/EdmondsKarpTest.java)
- [EdmondsTest](src/test/java/com/thealgorithms/graph/EdmondsTest.java)
- [GomoryHuTreeTest](src/test/java/com/thealgorithms/graph/GomoryHuTreeTest.java)
- [HierholzerAlgorithmTest](src/test/java/com/thealgorithms/graph/HierholzerAlgorithmTest.java)
- [HierholzerEulerianPathTest](src/test/java/com/thealgorithms/graph/HierholzerEulerianPathTest.java)
- [HopcroftKarpTest](src/test/java/com/thealgorithms/graph/HopcroftKarpTest.java)
- [HungarianAlgorithmTest](src/test/java/com/thealgorithms/graph/HungarianAlgorithmTest.java)
- [PredecessorConstrainedDfsTest](src/test/java/com/thealgorithms/graph/PredecessorConstrainedDfsTest.java)
- [PushRelabelTest](src/test/java/com/thealgorithms/graph/PushRelabelTest.java)
- [StoerWagnerTest](src/test/java/com/thealgorithms/graph/StoerWagnerTest.java)
- [StronglyConnectedComponentOptimizedTest](src/test/java/com/thealgorithms/graph/StronglyConnectedComponentOptimizedTest.java)
- [TravelingSalesmanTest](src/test/java/com/thealgorithms/graph/TravelingSalesmanTest.java)
- [YensKShortestPathsTest](src/test/java/com/thealgorithms/graph/YensKShortestPathsTest.java)
- [ZeroOneBfsTest](src/test/java/com/thealgorithms/graph/ZeroOneBfsTest.java)
- **greedyalgorithms**
- [ActivitySelectionTest](src/test/java/com/thealgorithms/greedyalgorithms/ActivitySelectionTest.java)
- [BandwidthAllocationTest](src/test/java/com/thealgorithms/greedyalgorithms/BandwidthAllocationTest.java)
- [BinaryAdditionTest](src/test/java/com/thealgorithms/greedyalgorithms/BinaryAdditionTest.java)
- [CoinChangeTest](src/test/java/com/thealgorithms/greedyalgorithms/CoinChangeTest.java)
- [DigitSeparationTest](src/test/java/com/thealgorithms/greedyalgorithms/DigitSeparationTest.java)
- [EgyptianFractionTest](src/test/java/com/thealgorithms/greedyalgorithms/EgyptianFractionTest.java)
- [FractionalKnapsackTest](src/test/java/com/thealgorithms/greedyalgorithms/FractionalKnapsackTest.java)
- [GaleShapleyTest](src/test/java/com/thealgorithms/greedyalgorithms/GaleShapleyTest.java)
- [JobSequencingTest](src/test/java/com/thealgorithms/greedyalgorithms/JobSequencingTest.java)
- [KCentersTest](src/test/java/com/thealgorithms/greedyalgorithms/KCentersTest.java)
- [MergeIntervalsTest](src/test/java/com/thealgorithms/greedyalgorithms/MergeIntervalsTest.java)
- [MinimizingLatenessTest](src/test/java/com/thealgorithms/greedyalgorithms/MinimizingLatenessTest.java)
- [MinimumWaitingTimeTest](src/test/java/com/thealgorithms/greedyalgorithms/MinimumWaitingTimeTest.java)
- [OptimalFileMergingTest](src/test/java/com/thealgorithms/greedyalgorithms/OptimalFileMergingTest.java)
- [StockProfitCalculatorTest](src/test/java/com/thealgorithms/greedyalgorithms/StockProfitCalculatorTest.java)
- **io**
- [BufferedReaderTest](src/test/java/com/thealgorithms/io/BufferedReaderTest.java)
- **lineclipping**
- [CohenSutherlandTest](src/test/java/com/thealgorithms/lineclipping/CohenSutherlandTest.java)
- [LiangBarskyTest](src/test/java/com/thealgorithms/lineclipping/LiangBarskyTest.java)
- **maths**
- [ADTFractionTest](src/test/java/com/thealgorithms/maths/ADTFractionTest.java)
- [AbsoluteMaxTest](src/test/java/com/thealgorithms/maths/AbsoluteMaxTest.java)
- [AbsoluteMinTest](src/test/java/com/thealgorithms/maths/AbsoluteMinTest.java)
- [AbsoluteValueTest](src/test/java/com/thealgorithms/maths/AbsoluteValueTest.java)
- [AbundantNumberTest](src/test/java/com/thealgorithms/maths/AbundantNumberTest.java)
- [AliquotSumTest](src/test/java/com/thealgorithms/maths/AliquotSumTest.java)
- [AmicableNumberTest](src/test/java/com/thealgorithms/maths/AmicableNumberTest.java)
- [AreaTest](src/test/java/com/thealgorithms/maths/AreaTest.java)
- [ArmstrongTest](src/test/java/com/thealgorithms/maths/ArmstrongTest.java)
- [AutoCorrelationTest](src/test/java/com/thealgorithms/maths/AutoCorrelationTest.java)
- [AutomorphicNumberTest](src/test/java/com/thealgorithms/maths/AutomorphicNumberTest.java)
- [AverageTest](src/test/java/com/thealgorithms/maths/AverageTest.java)
- [BinaryPowTest](src/test/java/com/thealgorithms/maths/BinaryPowTest.java)
- [BinomialCoefficientTest](src/test/java/com/thealgorithms/maths/BinomialCoefficientTest.java)
- [CatalanNumbersTest](src/test/java/com/thealgorithms/maths/CatalanNumbersTest.java)
- [CeilTest](src/test/java/com/thealgorithms/maths/CeilTest.java)
- [ChebyshevIterationTest](src/test/java/com/thealgorithms/maths/ChebyshevIterationTest.java)
- [ChineseRemainderTheoremTest](src/test/java/com/thealgorithms/maths/ChineseRemainderTheoremTest.java)
- [CollatzConjectureTest](src/test/java/com/thealgorithms/maths/CollatzConjectureTest.java)
- [CombinationsTest](src/test/java/com/thealgorithms/maths/CombinationsTest.java)
- [ConvolutionFFTTest](src/test/java/com/thealgorithms/maths/ConvolutionFFTTest.java)
- [ConvolutionTest](src/test/java/com/thealgorithms/maths/ConvolutionTest.java)
- [CrossCorrelationTest](src/test/java/com/thealgorithms/maths/CrossCorrelationTest.java)
- [DeterminantOfMatrixTest](src/test/java/com/thealgorithms/maths/DeterminantOfMatrixTest.java)
- [DigitalRootTest](src/test/java/com/thealgorithms/maths/DigitalRootTest.java)
- [DistanceFormulaTest](src/test/java/com/thealgorithms/maths/DistanceFormulaTest.java)
- [DudeneyNumberTest](src/test/java/com/thealgorithms/maths/DudeneyNumberTest.java)
- [EulerMethodTest](src/test/java/com/thealgorithms/maths/EulerMethodTest.java)
- [EulerPseudoprimeTest](src/test/java/com/thealgorithms/maths/EulerPseudoprimeTest.java)
- [EulersFunctionTest](src/test/java/com/thealgorithms/maths/EulersFunctionTest.java)
- [EvilNumberTest](src/test/java/com/thealgorithms/maths/EvilNumberTest.java)
- [ExtendedEuclideanAlgorithmTest](src/test/java/com/thealgorithms/maths/ExtendedEuclideanAlgorithmTest.java)
- [FFTTest](src/test/java/com/thealgorithms/maths/FFTTest.java)
- [FactorialTest](src/test/java/com/thealgorithms/maths/FactorialTest.java)
- [FastExponentiationTest](src/test/java/com/thealgorithms/maths/FastExponentiationTest.java)
- [FastInverseSqrtTests](src/test/java/com/thealgorithms/maths/FastInverseSqrtTests.java)
- [FibonacciJavaStreamsTest](src/test/java/com/thealgorithms/maths/FibonacciJavaStreamsTest.java)
- [FibonacciLoopTest](src/test/java/com/thealgorithms/maths/FibonacciLoopTest.java)
- [FibonacciNumberCheckTest](src/test/java/com/thealgorithms/maths/FibonacciNumberCheckTest.java)
- [FibonacciNumberGoldenRationTest](src/test/java/com/thealgorithms/maths/FibonacciNumberGoldenRationTest.java)
- [FindKthNumberTest](src/test/java/com/thealgorithms/maths/FindKthNumberTest.java)
- [FindMaxRecursionTest](src/test/java/com/thealgorithms/maths/FindMaxRecursionTest.java)
- [FindMaxTest](src/test/java/com/thealgorithms/maths/FindMaxTest.java)
- [FindMinRecursionTest](src/test/java/com/thealgorithms/maths/FindMinRecursionTest.java)
- [FindMinTest](src/test/java/com/thealgorithms/maths/FindMinTest.java)
- [FloorTest](src/test/java/com/thealgorithms/maths/FloorTest.java)
- [FrizzyNumberTest](src/test/java/com/thealgorithms/maths/FrizzyNumberTest.java)
- [GCDRecursionTest](src/test/java/com/thealgorithms/maths/GCDRecursionTest.java)
- [GCDTest](src/test/java/com/thealgorithms/maths/GCDTest.java)
- [GaussianTest](src/test/java/com/thealgorithms/maths/GaussianTest.java)
- [GenericRootTest](src/test/java/com/thealgorithms/maths/GenericRootTest.java)
- [GermainPrimeAndSafePrimeTest](src/test/java/com/thealgorithms/maths/GermainPrimeAndSafePrimeTest.java)
- [GoldbachConjectureTest](src/test/java/com/thealgorithms/maths/GoldbachConjectureTest.java)
- [HappyNumberTest](src/test/java/com/thealgorithms/maths/HappyNumberTest.java)
- [HarshadNumberTest](src/test/java/com/thealgorithms/maths/HarshadNumberTest.java)
- [HeronsFormulaTest](src/test/java/com/thealgorithms/maths/HeronsFormulaTest.java)
- [JosephusProblemTest](src/test/java/com/thealgorithms/maths/JosephusProblemTest.java)
- [JugglerSequenceTest](src/test/java/com/thealgorithms/maths/JugglerSequenceTest.java)
- [KaprekarNumbersTest](src/test/java/com/thealgorithms/maths/KaprekarNumbersTest.java)
- [KaratsubaMultiplicationTest](src/test/java/com/thealgorithms/maths/KaratsubaMultiplicationTest.java)
- [KeithNumberTest](src/test/java/com/thealgorithms/maths/KeithNumberTest.java)
- [KrishnamurthyNumberTest](src/test/java/com/thealgorithms/maths/KrishnamurthyNumberTest.java)
- [LeastCommonMultipleTest](src/test/java/com/thealgorithms/maths/LeastCommonMultipleTest.java)
- [LeonardoNumberTest](src/test/java/com/thealgorithms/maths/LeonardoNumberTest.java)
- [LinearDiophantineEquationsSolverTest](src/test/java/com/thealgorithms/maths/LinearDiophantineEquationsSolverTest.java)
- [LongDivisionTest](src/test/java/com/thealgorithms/maths/LongDivisionTest.java)
- [LucasSeriesTest](src/test/java/com/thealgorithms/maths/LucasSeriesTest.java)
- [LuckyNumberTest](src/test/java/com/thealgorithms/maths/LuckyNumberTest.java)
- [MathBuilderTest](src/test/java/com/thealgorithms/maths/MathBuilderTest.java)
- [MaxValueTest](src/test/java/com/thealgorithms/maths/MaxValueTest.java)
- [MeansTest](src/test/java/com/thealgorithms/maths/MeansTest.java)
- [MedianTest](src/test/java/com/thealgorithms/maths/MedianTest.java)
- [MinValueTest](src/test/java/com/thealgorithms/maths/MinValueTest.java)
- [ModeTest](src/test/java/com/thealgorithms/maths/ModeTest.java)
- [NevilleTest](src/test/java/com/thealgorithms/maths/NevilleTest.java)
- [NonRepeatingElementTest](src/test/java/com/thealgorithms/maths/NonRepeatingElementTest.java)
- [NthUglyNumberTest](src/test/java/com/thealgorithms/maths/NthUglyNumberTest.java)
- [NumberOfDigitsTest](src/test/java/com/thealgorithms/maths/NumberOfDigitsTest.java)
- [NumberPersistenceTest](src/test/java/com/thealgorithms/maths/NumberPersistenceTest.java)
- [PalindromeNumberTest](src/test/java/com/thealgorithms/maths/PalindromeNumberTest.java)
- [ParseIntegerTest](src/test/java/com/thealgorithms/maths/ParseIntegerTest.java)
- [PascalTriangleTest](src/test/java/com/thealgorithms/maths/PascalTriangleTest.java)
- [PerfectCubeTest](src/test/java/com/thealgorithms/maths/PerfectCubeTest.java)
- [PerfectNumberTest](src/test/java/com/thealgorithms/maths/PerfectNumberTest.java)
- [PerfectSquareTest](src/test/java/com/thealgorithms/maths/PerfectSquareTest.java)
- [PerimeterTest](src/test/java/com/thealgorithms/maths/PerimeterTest.java)
- [PiApproximationTest](src/test/java/com/thealgorithms/maths/PiApproximationTest.java)
- [PollardRhoTest](src/test/java/com/thealgorithms/maths/PollardRhoTest.java)
- [PowTest](src/test/java/com/thealgorithms/maths/PowTest.java)
- [PowerOfFourTest](src/test/java/com/thealgorithms/maths/PowerOfFourTest.java)
- [PowerOfTwoOrNotTest](src/test/java/com/thealgorithms/maths/PowerOfTwoOrNotTest.java)
- [PowerUsingRecursionTest](src/test/java/com/thealgorithms/maths/PowerUsingRecursionTest.java)
- [PronicNumberTest](src/test/java/com/thealgorithms/maths/PronicNumberTest.java)
- [PythagoreanTripleTest](src/test/java/com/thealgorithms/maths/PythagoreanTripleTest.java)
- [QuadraticEquationSolverTest](src/test/java/com/thealgorithms/maths/QuadraticEquationSolverTest.java)
- [ReverseNumberTest](src/test/java/com/thealgorithms/maths/ReverseNumberTest.java)
- [SecondMinMaxTest](src/test/java/com/thealgorithms/maths/SecondMinMaxTest.java)
- [SieveOfAtkinTest](src/test/java/com/thealgorithms/maths/SieveOfAtkinTest.java)
- [SieveOfEratosthenesTest](src/test/java/com/thealgorithms/maths/SieveOfEratosthenesTest.java)
- [SmithNumberTest](src/test/java/com/thealgorithms/maths/SmithNumberTest.java)
- [SolovayStrassenPrimalityTestTest](src/test/java/com/thealgorithms/maths/SolovayStrassenPrimalityTestTest.java)
- [SquareFreeIntegerTest](src/test/java/com/thealgorithms/maths/SquareFreeIntegerTest.java)
- [SquareRootWithNewtonRaphsonTestMethod](src/test/java/com/thealgorithms/maths/SquareRootWithNewtonRaphsonTestMethod.java)
- [SquareRootwithBabylonianMethodTest](src/test/java/com/thealgorithms/maths/SquareRootwithBabylonianMethodTest.java)
- [StandardDeviationTest](src/test/java/com/thealgorithms/maths/StandardDeviationTest.java)
- [StandardScoreTest](src/test/java/com/thealgorithms/maths/StandardScoreTest.java)
- [StrobogrammaticNumberTest](src/test/java/com/thealgorithms/maths/StrobogrammaticNumberTest.java)
- [SumOfArithmeticSeriesTest](src/test/java/com/thealgorithms/maths/SumOfArithmeticSeriesTest.java)
- [SumOfDigitsTest](src/test/java/com/thealgorithms/maths/SumOfDigitsTest.java)
- [SumOfOddNumbersTest](src/test/java/com/thealgorithms/maths/SumOfOddNumbersTest.java)
- [SumOfSquaresTest](src/test/java/com/thealgorithms/maths/SumOfSquaresTest.java)
- [SumWithoutArithmeticOperatorsTest](src/test/java/com/thealgorithms/maths/SumWithoutArithmeticOperatorsTest.java)
- [TestArmstrong](src/test/java/com/thealgorithms/maths/TestArmstrong.java)
- [TwinPrimeTest](src/test/java/com/thealgorithms/maths/TwinPrimeTest.java)
- [UniformNumbersTest](src/test/java/com/thealgorithms/maths/UniformNumbersTest.java)
- [VampireNumberTest](src/test/java/com/thealgorithms/maths/VampireNumberTest.java)
- [VolumeTest](src/test/java/com/thealgorithms/maths/VolumeTest.java)
- [ZellersCongruenceTest](src/test/java/com/thealgorithms/maths/ZellersCongruenceTest.java)
- **prime**
- [LiouvilleLambdaFunctionTest](src/test/java/com/thealgorithms/maths/prime/LiouvilleLambdaFunctionTest.java)
- [MillerRabinPrimalityCheckTest](src/test/java/com/thealgorithms/maths/prime/MillerRabinPrimalityCheckTest.java)
- [MobiusFunctionTest](src/test/java/com/thealgorithms/maths/prime/MobiusFunctionTest.java)
- [PrimeCheckTest](src/test/java/com/thealgorithms/maths/prime/PrimeCheckTest.java)
- [PrimeFactorizationTest](src/test/java/com/thealgorithms/maths/prime/PrimeFactorizationTest.java)
- **matrix**
- [InverseOfMatrixTest](src/test/java/com/thealgorithms/matrix/InverseOfMatrixTest.java)
- [LUDecompositionTest](src/test/java/com/thealgorithms/matrix/LUDecompositionTest.java)
- [MatrixMultiplicationTest](src/test/java/com/thealgorithms/matrix/MatrixMultiplicationTest.java)
- [MatrixRankTest](src/test/java/com/thealgorithms/matrix/MatrixRankTest.java)
- [MatrixTransposeTest](src/test/java/com/thealgorithms/matrix/MatrixTransposeTest.java)
- [MatrixUtilTest](src/test/java/com/thealgorithms/matrix/MatrixUtilTest.java)
- [MedianOfMatrixTest](src/test/java/com/thealgorithms/matrix/MedianOfMatrixTest.java)
- [MirrorOfMatrixTest](src/test/java/com/thealgorithms/matrix/MirrorOfMatrixTest.java)
- [PrintAMatrixInSpiralOrderTest](src/test/java/com/thealgorithms/matrix/PrintAMatrixInSpiralOrderTest.java)
- [SolveSystemTest](src/test/java/com/thealgorithms/matrix/SolveSystemTest.java)
- [StochasticMatrixTest](src/test/java/com/thealgorithms/matrix/StochasticMatrixTest.java)
- **misc**
- [ColorContrastRatioTest](src/test/java/com/thealgorithms/misc/ColorContrastRatioTest.java)
- [MapReduceTest](src/test/java/com/thealgorithms/misc/MapReduceTest.java)
- [MedianOfRunningArrayTest](src/test/java/com/thealgorithms/misc/MedianOfRunningArrayTest.java)
- [PalindromePrimeTest](src/test/java/com/thealgorithms/misc/PalindromePrimeTest.java)
- [PalindromeSinglyLinkedListTest](src/test/java/com/thealgorithms/misc/PalindromeSinglyLinkedListTest.java)
- [RangeInSortedArrayTest](src/test/java/com/thealgorithms/misc/RangeInSortedArrayTest.java)
- [ShuffleArrayTest](src/test/java/com/thealgorithms/misc/ShuffleArrayTest.java)
- [SparsityTest](src/test/java/com/thealgorithms/misc/SparsityTest.java)
- [ThreeSumProblemTest](src/test/java/com/thealgorithms/misc/ThreeSumProblemTest.java)
- [TwoSumProblemTest](src/test/java/com/thealgorithms/misc/TwoSumProblemTest.java)
- **others**
- [ArrayLeftRotationTest](src/test/java/com/thealgorithms/others/ArrayLeftRotationTest.java)
- [ArrayRightRotationTest](src/test/java/com/thealgorithms/others/ArrayRightRotationTest.java)
- [BFPRTTest](src/test/java/com/thealgorithms/others/BFPRTTest.java)
- [BestFitCPUTest](src/test/java/com/thealgorithms/others/BestFitCPUTest.java)
- [BoyerMooreTest](src/test/java/com/thealgorithms/others/BoyerMooreTest.java)
- [CRC16Test](src/test/java/com/thealgorithms/others/CRC16Test.java)
- [CRCAlgorithmTest](src/test/java/com/thealgorithms/others/CRCAlgorithmTest.java)
- [ConwayTest](src/test/java/com/thealgorithms/others/ConwayTest.java)
- [CountFriendsPairingTest](src/test/java/com/thealgorithms/others/CountFriendsPairingTest.java)
- [FirstFitCPUTest](src/test/java/com/thealgorithms/others/FirstFitCPUTest.java)
- [FloydTriangleTest](src/test/java/com/thealgorithms/others/FloydTriangleTest.java)
- [HuffmanTest](src/test/java/com/thealgorithms/others/HuffmanTest.java)
- [InsertDeleteInArrayTest](src/test/java/com/thealgorithms/others/InsertDeleteInArrayTest.java)
- [IterativeFloodFillTest](src/test/java/com/thealgorithms/others/IterativeFloodFillTest.java)
- [KadaneAlogrithmTest](src/test/java/com/thealgorithms/others/KadaneAlogrithmTest.java)
- [LineSweepTest](src/test/java/com/thealgorithms/others/LineSweepTest.java)
- [LinkListSortTest](src/test/java/com/thealgorithms/others/LinkListSortTest.java)
- [LowestBasePalindromeTest](src/test/java/com/thealgorithms/others/LowestBasePalindromeTest.java)
- [MaximumSumOfDistinctSubarraysWithLengthKTest](src/test/java/com/thealgorithms/others/MaximumSumOfDistinctSubarraysWithLengthKTest.java)
- [MiniMaxAlgorithmTest](src/test/java/com/thealgorithms/others/MiniMaxAlgorithmTest.java)
- [MosAlgorithmTest](src/test/java/com/thealgorithms/others/MosAlgorithmTest.java)
- [NextFitTest](src/test/java/com/thealgorithms/others/NextFitTest.java)
- [PageRankTest](src/test/java/com/thealgorithms/others/PageRankTest.java)
- [PasswordGenTest](src/test/java/com/thealgorithms/others/PasswordGenTest.java)
- [PerlinNoiseTest](src/test/java/com/thealgorithms/others/PerlinNoiseTest.java)
- [QueueUsingTwoStacksTest](src/test/java/com/thealgorithms/others/QueueUsingTwoStacksTest.java)
- [SkylineProblemTest](src/test/java/com/thealgorithms/others/SkylineProblemTest.java)
- [TwoPointersTest](src/test/java/com/thealgorithms/others/TwoPointersTest.java)
- [WorstFitCPUTest](src/test/java/com/thealgorithms/others/WorstFitCPUTest.java)
- **physics**
- [CoulombsLawTest](src/test/java/com/thealgorithms/physics/CoulombsLawTest.java)
- [DampedOscillatorTest](src/test/java/com/thealgorithms/physics/DampedOscillatorTest.java)
- [ElasticCollision2DTest](src/test/java/com/thealgorithms/physics/ElasticCollision2DTest.java)
- [GravitationTest](src/test/java/com/thealgorithms/physics/GravitationTest.java)
- [GroundToGroundProjectileMotionTest](src/test/java/com/thealgorithms/physics/GroundToGroundProjectileMotionTest.java)
- [KinematicsTest](src/test/java/com/thealgorithms/physics/KinematicsTest.java)
- [ProjectileMotionTest](src/test/java/com/thealgorithms/physics/ProjectileMotionTest.java)
- [SimplePendulumRK4Test](src/test/java/com/thealgorithms/physics/SimplePendulumRK4Test.java)
- [SnellLawTest](src/test/java/com/thealgorithms/physics/SnellLawTest.java)
- [ThinLensTest](src/test/java/com/thealgorithms/physics/ThinLensTest.java)
- **puzzlesandgames**
- [TowerOfHanoiTest](src/test/java/com/thealgorithms/puzzlesandgames/TowerOfHanoiTest.java)
- [WordBoggleTest](src/test/java/com/thealgorithms/puzzlesandgames/WordBoggleTest.java)
- **randomized**
- [KargerMinCutTest](src/test/java/com/thealgorithms/randomized/KargerMinCutTest.java)
- [MonteCarloIntegrationTest](src/test/java/com/thealgorithms/randomized/MonteCarloIntegrationTest.java)
- [RandomizedClosestPairTest](src/test/java/com/thealgorithms/randomized/RandomizedClosestPairTest.java)
- [RandomizedMatrixMultiplicationVerificationTest](src/test/java/com/thealgorithms/randomized/RandomizedMatrixMultiplicationVerificationTest.java)
- [RandomizedQuickSortTest](src/test/java/com/thealgorithms/randomized/RandomizedQuickSortTest.java)
- [ReservoirSamplingTest](src/test/java/com/thealgorithms/randomized/ReservoirSamplingTest.java)
- **recursion**
- [DiceThrowerTest](src/test/java/com/thealgorithms/recursion/DiceThrowerTest.java)
- [FactorialRecursionTest](src/test/java/com/thealgorithms/recursion/FactorialRecursionTest.java)
- [FibonacciSeriesTest](src/test/java/com/thealgorithms/recursion/FibonacciSeriesTest.java)
- [GenerateSubsetsTest](src/test/java/com/thealgorithms/recursion/GenerateSubsetsTest.java)
- [SylvesterSequenceTest](src/test/java/com/thealgorithms/recursion/SylvesterSequenceTest.java)
- **scheduling**
- [AgingSchedulingTest](src/test/java/com/thealgorithms/scheduling/AgingSchedulingTest.java)
- [EDFSchedulingTest](src/test/java/com/thealgorithms/scheduling/EDFSchedulingTest.java)
- [FCFSSchedulingTest](src/test/java/com/thealgorithms/scheduling/FCFSSchedulingTest.java)
- [FairShareSchedulingTest](src/test/java/com/thealgorithms/scheduling/FairShareSchedulingTest.java)
- [GangSchedulingTest](src/test/java/com/thealgorithms/scheduling/GangSchedulingTest.java)
- [HighestResponseRatioNextSchedulingTest](src/test/java/com/thealgorithms/scheduling/HighestResponseRatioNextSchedulingTest.java)
- [JobSchedulingWithDeadlineTest](src/test/java/com/thealgorithms/scheduling/JobSchedulingWithDeadlineTest.java)
- [LotterySchedulingTest](src/test/java/com/thealgorithms/scheduling/LotterySchedulingTest.java)
- [MLFQSchedulerTest](src/test/java/com/thealgorithms/scheduling/MLFQSchedulerTest.java)
- [MultiAgentSchedulingTest](src/test/java/com/thealgorithms/scheduling/MultiAgentSchedulingTest.java)
- [NonPreemptivePrioritySchedulingTest](src/test/java/com/thealgorithms/scheduling/NonPreemptivePrioritySchedulingTest.java)
- [PreemptivePrioritySchedulingTest](src/test/java/com/thealgorithms/scheduling/PreemptivePrioritySchedulingTest.java)
- [ProportionalFairSchedulingTest](src/test/java/com/thealgorithms/scheduling/ProportionalFairSchedulingTest.java)
- [RRSchedulingTest](src/test/java/com/thealgorithms/scheduling/RRSchedulingTest.java)
- [RandomSchedulingTest](src/test/java/com/thealgorithms/scheduling/RandomSchedulingTest.java)
- [SJFSchedulingTest](src/test/java/com/thealgorithms/scheduling/SJFSchedulingTest.java)
- [SRTFSchedulingTest](src/test/java/com/thealgorithms/scheduling/SRTFSchedulingTest.java)
- [SelfAdjustingSchedulingTest](src/test/java/com/thealgorithms/scheduling/SelfAdjustingSchedulingTest.java)
- [SlackTimeSchedulingTest](src/test/java/com/thealgorithms/scheduling/SlackTimeSchedulingTest.java)
- **diskscheduling**
- [CircularLookSchedulingTest](src/test/java/com/thealgorithms/scheduling/diskscheduling/CircularLookSchedulingTest.java)
- [CircularScanSchedulingTest](src/test/java/com/thealgorithms/scheduling/diskscheduling/CircularScanSchedulingTest.java)
- [LookSchedulingTest](src/test/java/com/thealgorithms/scheduling/diskscheduling/LookSchedulingTest.java)
- [SSFSchedulingTest](src/test/java/com/thealgorithms/scheduling/diskscheduling/SSFSchedulingTest.java)
- [ScanSchedulingTest](src/test/java/com/thealgorithms/scheduling/diskscheduling/ScanSchedulingTest.java)
- **searches**
- [BM25InvertedIndexTest](src/test/java/com/thealgorithms/searches/BM25InvertedIndexTest.java)
- [BinarySearch2dArrayTest](src/test/java/com/thealgorithms/searches/BinarySearch2dArrayTest.java)
- [BinarySearchTest](src/test/java/com/thealgorithms/searches/BinarySearchTest.java)
- [BoyerMooreTest](src/test/java/com/thealgorithms/searches/BoyerMooreTest.java)
- [BreadthFirstSearchTest](src/test/java/com/thealgorithms/searches/BreadthFirstSearchTest.java)
- [DepthFirstSearchTest](src/test/java/com/thealgorithms/searches/DepthFirstSearchTest.java)
- [ExponentialSearchTest](src/test/java/com/thealgorithms/searches/ExponentialSearchTest.java)
- [FibonacciSearchTest](src/test/java/com/thealgorithms/searches/FibonacciSearchTest.java)
- [HowManyTimesRotatedTest](src/test/java/com/thealgorithms/searches/HowManyTimesRotatedTest.java)
- [InterpolationSearchTest](src/test/java/com/thealgorithms/searches/InterpolationSearchTest.java)
- [IterativeBinarySearchTest](src/test/java/com/thealgorithms/searches/IterativeBinarySearchTest.java)
- [IterativeTernarySearchTest](src/test/java/com/thealgorithms/searches/IterativeTernarySearchTest.java)
- [JumpSearchTest](src/test/java/com/thealgorithms/searches/JumpSearchTest.java)
- [KMPSearchTest](src/test/java/com/thealgorithms/searches/KMPSearchTest.java)
- [LinearSearchTest](src/test/java/com/thealgorithms/searches/LinearSearchTest.java)
- [LinearSearchThreadTest](src/test/java/com/thealgorithms/searches/LinearSearchThreadTest.java)
- [LowerBoundTest](src/test/java/com/thealgorithms/searches/LowerBoundTest.java)
- [MonteCarloTreeSearchTest](src/test/java/com/thealgorithms/searches/MonteCarloTreeSearchTest.java)
- [OrderAgnosticBinarySearchTest](src/test/java/com/thealgorithms/searches/OrderAgnosticBinarySearchTest.java)
- [QuickSelectTest](src/test/java/com/thealgorithms/searches/QuickSelectTest.java)
- [RabinKarpAlgorithmTest](src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java)
- [RandomSearchTest](src/test/java/com/thealgorithms/searches/RandomSearchTest.java)
- [RecursiveBinarySearchTest](src/test/java/com/thealgorithms/searches/RecursiveBinarySearchTest.java)
- [RowColumnWiseSorted2dArrayBinarySearchTest](src/test/java/com/thealgorithms/searches/RowColumnWiseSorted2dArrayBinarySearchTest.java)
- [SaddlebackSearchTest](src/test/java/com/thealgorithms/searches/SaddlebackSearchTest.java)
- [SearchInARowAndColWiseSortedMatrixTest](src/test/java/com/thealgorithms/searches/SearchInARowAndColWiseSortedMatrixTest.java)
- [SentinelLinearSearchTest](src/test/java/com/thealgorithms/searches/SentinelLinearSearchTest.java)
- [SquareRootBinarySearchTest](src/test/java/com/thealgorithms/searches/SquareRootBinarySearchTest.java)
- [TernarySearchTest](src/test/java/com/thealgorithms/searches/TernarySearchTest.java)
- [TestSearchInARowAndColWiseSortedMatrix](src/test/java/com/thealgorithms/searches/TestSearchInARowAndColWiseSortedMatrix.java)
- [UnionFindTest](src/test/java/com/thealgorithms/searches/UnionFindTest.java)
- [UpperBoundTest](src/test/java/com/thealgorithms/searches/UpperBoundTest.java)
- **slidingwindow**
- [LongestSubarrayWithSumLessOrEqualToKTest](src/test/java/com/thealgorithms/slidingwindow/LongestSubarrayWithSumLessOrEqualToKTest.java)
- [LongestSubstringWithoutRepeatingCharactersTest](src/test/java/com/thealgorithms/slidingwindow/LongestSubstringWithoutRepeatingCharactersTest.java)
- [MaxSumKSizeSubarrayTest](src/test/java/com/thealgorithms/slidingwindow/MaxSumKSizeSubarrayTest.java)
- [MaximumSlidingWindowTest](src/test/java/com/thealgorithms/slidingwindow/MaximumSlidingWindowTest.java)
- [MinSumKSizeSubarrayTest](src/test/java/com/thealgorithms/slidingwindow/MinSumKSizeSubarrayTest.java)
- [MinimumWindowSubstringTest](src/test/java/com/thealgorithms/slidingwindow/MinimumWindowSubstringTest.java)
- [ShortestCoprimeSegmentTest](src/test/java/com/thealgorithms/slidingwindow/ShortestCoprimeSegmentTest.java)
- **sorts**
- [AdaptiveMergeSortTest](src/test/java/com/thealgorithms/sorts/AdaptiveMergeSortTest.java)
- [BeadSortTest](src/test/java/com/thealgorithms/sorts/BeadSortTest.java)
- [BinaryInsertionSortTest](src/test/java/com/thealgorithms/sorts/BinaryInsertionSortTest.java)
- [BitonicSortTest](src/test/java/com/thealgorithms/sorts/BitonicSortTest.java)
- [BogoSortTest](src/test/java/com/thealgorithms/sorts/BogoSortTest.java)
- [BubbleSortRecursiveTest](src/test/java/com/thealgorithms/sorts/BubbleSortRecursiveTest.java)
- [BubbleSortTest](src/test/java/com/thealgorithms/sorts/BubbleSortTest.java)
- [BucketSortTest](src/test/java/com/thealgorithms/sorts/BucketSortTest.java)
- [CircleSortTest](src/test/java/com/thealgorithms/sorts/CircleSortTest.java)
- [CocktailShakerSortTest](src/test/java/com/thealgorithms/sorts/CocktailShakerSortTest.java)
- [CombSortTest](src/test/java/com/thealgorithms/sorts/CombSortTest.java)
- [CountingSortTest](src/test/java/com/thealgorithms/sorts/CountingSortTest.java)
- [CycleSortTest](src/test/java/com/thealgorithms/sorts/CycleSortTest.java)
- [DarkSortTest](src/test/java/com/thealgorithms/sorts/DarkSortTest.java)
- [DualPivotQuickSortTest](src/test/java/com/thealgorithms/sorts/DualPivotQuickSortTest.java)
- [DutchNationalFlagSortTest](src/test/java/com/thealgorithms/sorts/DutchNationalFlagSortTest.java)
- [ExchangeSortTest](src/test/java/com/thealgorithms/sorts/ExchangeSortTest.java)
- [FlashSortTest](src/test/java/com/thealgorithms/sorts/FlashSortTest.java)
- [GnomeSortTest](src/test/java/com/thealgorithms/sorts/GnomeSortTest.java)
- [HeapSortTest](src/test/java/com/thealgorithms/sorts/HeapSortTest.java)
- [InsertionSortTest](src/test/java/com/thealgorithms/sorts/InsertionSortTest.java)
- [IntrospectiveSortTest](src/test/java/com/thealgorithms/sorts/IntrospectiveSortTest.java)
- [MergeSortNoExtraSpaceTest](src/test/java/com/thealgorithms/sorts/MergeSortNoExtraSpaceTest.java)
- [MergeSortRecursiveTest](src/test/java/com/thealgorithms/sorts/MergeSortRecursiveTest.java)
- [MergeSortTest](src/test/java/com/thealgorithms/sorts/MergeSortTest.java)
- [OddEvenSortTest](src/test/java/com/thealgorithms/sorts/OddEvenSortTest.java)
- [PancakeSortTest](src/test/java/com/thealgorithms/sorts/PancakeSortTest.java)
- [PatienceSortTest](src/test/java/com/thealgorithms/sorts/PatienceSortTest.java)
- [PigeonholeSortTest](src/test/java/com/thealgorithms/sorts/PigeonholeSortTest.java)
- [PriorityQueueSortTest](src/test/java/com/thealgorithms/sorts/PriorityQueueSortTest.java)
- [QuickSortTest](src/test/java/com/thealgorithms/sorts/QuickSortTest.java)
- [RadixSortTest](src/test/java/com/thealgorithms/sorts/RadixSortTest.java)
- [SelectionSortRecursiveTest](src/test/java/com/thealgorithms/sorts/SelectionSortRecursiveTest.java)
- [SelectionSortTest](src/test/java/com/thealgorithms/sorts/SelectionSortTest.java)
- [ShellSortTest](src/test/java/com/thealgorithms/sorts/ShellSortTest.java)
- [SlowSortTest](src/test/java/com/thealgorithms/sorts/SlowSortTest.java)
- [SortUtilsRandomGeneratorTest](src/test/java/com/thealgorithms/sorts/SortUtilsRandomGeneratorTest.java)
- [SortUtilsTest](src/test/java/com/thealgorithms/sorts/SortUtilsTest.java)
- [SortingAlgorithmTest](src/test/java/com/thealgorithms/sorts/SortingAlgorithmTest.java)
- [SpreadSortTest](src/test/java/com/thealgorithms/sorts/SpreadSortTest.java)
- [StalinSortTest](src/test/java/com/thealgorithms/sorts/StalinSortTest.java)
- [StoogeSortTest](src/test/java/com/thealgorithms/sorts/StoogeSortTest.java)
- [StrandSortTest](src/test/java/com/thealgorithms/sorts/StrandSortTest.java)
- [SwapSortTest](src/test/java/com/thealgorithms/sorts/SwapSortTest.java)
- [TimSortTest](src/test/java/com/thealgorithms/sorts/TimSortTest.java)
- [TopologicalSortTest](src/test/java/com/thealgorithms/sorts/TopologicalSortTest.java)
- [TreeSortTest](src/test/java/com/thealgorithms/sorts/TreeSortTest.java)
- [WaveSortTest](src/test/java/com/thealgorithms/sorts/WaveSortTest.java)
- [WiggleSortTest](src/test/java/com/thealgorithms/sorts/WiggleSortTest.java)
- **stacks**
- [BalancedBracketsTest](src/test/java/com/thealgorithms/stacks/BalancedBracketsTest.java)
- [CelebrityFinderTest](src/test/java/com/thealgorithms/stacks/CelebrityFinderTest.java)
- [DecimalToAnyUsingStackTest](src/test/java/com/thealgorithms/stacks/DecimalToAnyUsingStackTest.java)
- [DuplicateBracketsTest](src/test/java/com/thealgorithms/stacks/DuplicateBracketsTest.java)
- [GreatestElementConstantTimeTest](src/test/java/com/thealgorithms/stacks/GreatestElementConstantTimeTest.java)
- [InfixToPostfixTest](src/test/java/com/thealgorithms/stacks/InfixToPostfixTest.java)
- [InfixToPrefixTest](src/test/java/com/thealgorithms/stacks/InfixToPrefixTest.java)
- [LargestRectangleTest](src/test/java/com/thealgorithms/stacks/LargestRectangleTest.java)
- [MinStackUsingSingleStackTest](src/test/java/com/thealgorithms/stacks/MinStackUsingSingleStackTest.java)
- [MinStackUsingTwoStacksTest](src/test/java/com/thealgorithms/stacks/MinStackUsingTwoStacksTest.java)
- [NextGreaterElementTest](src/test/java/com/thealgorithms/stacks/NextGreaterElementTest.java)
- [NextSmallerElementTest](src/test/java/com/thealgorithms/stacks/NextSmallerElementTest.java)
- [PalindromeWithStackTest](src/test/java/com/thealgorithms/stacks/PalindromeWithStackTest.java)
- [PostfixEvaluatorTest](src/test/java/com/thealgorithms/stacks/PostfixEvaluatorTest.java)
- [PostfixToInfixTest](src/test/java/com/thealgorithms/stacks/PostfixToInfixTest.java)
- [PrefixEvaluatorTest](src/test/java/com/thealgorithms/stacks/PrefixEvaluatorTest.java)
- [PrefixToInfixTest](src/test/java/com/thealgorithms/stacks/PrefixToInfixTest.java)
- [SmallestElementConstantTimeTest](src/test/java/com/thealgorithms/stacks/SmallestElementConstantTimeTest.java)
- [SortStackTest](src/test/java/com/thealgorithms/stacks/SortStackTest.java)
- [StackPostfixNotationTest](src/test/java/com/thealgorithms/stacks/StackPostfixNotationTest.java)
- [StackUsingTwoQueuesTest](src/test/java/com/thealgorithms/stacks/StackUsingTwoQueuesTest.java)
- [TrappingRainwaterTest](src/test/java/com/thealgorithms/stacks/TrappingRainwaterTest.java)
- [ValidParenthesesTest](src/test/java/com/thealgorithms/stacks/ValidParenthesesTest.java)
- **strings**
- [AhoCorasickTest](src/test/java/com/thealgorithms/strings/AhoCorasickTest.java)
- [AlphabeticalTest](src/test/java/com/thealgorithms/strings/AlphabeticalTest.java)
- [AlternativeStringArrangeTest](src/test/java/com/thealgorithms/strings/AlternativeStringArrangeTest.java)
- [AnagramsTest](src/test/java/com/thealgorithms/strings/AnagramsTest.java)
- [CharactersSameTest](src/test/java/com/thealgorithms/strings/CharactersSameTest.java)
- [CheckVowelsTest](src/test/java/com/thealgorithms/strings/CheckVowelsTest.java)
- [CountCharTest](src/test/java/com/thealgorithms/strings/CountCharTest.java)
- [CountWordsTest](src/test/java/com/thealgorithms/strings/CountWordsTest.java)
- [HammingDistanceTest](src/test/java/com/thealgorithms/strings/HammingDistanceTest.java)
- [HorspoolSearchTest](src/test/java/com/thealgorithms/strings/HorspoolSearchTest.java)
- [IsogramTest](src/test/java/com/thealgorithms/strings/IsogramTest.java)
- [IsomorphicTest](src/test/java/com/thealgorithms/strings/IsomorphicTest.java)
- [LengthOfLastWordTest](src/test/java/com/thealgorithms/strings/LengthOfLastWordTest.java)
- [LetterCombinationsOfPhoneNumberTest](src/test/java/com/thealgorithms/strings/LetterCombinationsOfPhoneNumberTest.java)
- [LongestCommonPrefixTest](src/test/java/com/thealgorithms/strings/LongestCommonPrefixTest.java)
- [LongestNonRepetitiveSubstringTest](src/test/java/com/thealgorithms/strings/LongestNonRepetitiveSubstringTest.java)
- [LowerTest](src/test/java/com/thealgorithms/strings/LowerTest.java)
- [ManacherTest](src/test/java/com/thealgorithms/strings/ManacherTest.java)
- [MyAtoiTest](src/test/java/com/thealgorithms/strings/MyAtoiTest.java)
- [PalindromeTest](src/test/java/com/thealgorithms/strings/PalindromeTest.java)
- [PangramTest](src/test/java/com/thealgorithms/strings/PangramTest.java)
- [PermuteStringTest](src/test/java/com/thealgorithms/strings/PermuteStringTest.java)
- [RemoveDuplicateFromStringTest](src/test/java/com/thealgorithms/strings/RemoveDuplicateFromStringTest.java)
- [ReturnSubsequenceTest](src/test/java/com/thealgorithms/strings/ReturnSubsequenceTest.java)
- [ReverseStringTest](src/test/java/com/thealgorithms/strings/ReverseStringTest.java)
- [ReverseWordsInStringTest](src/test/java/com/thealgorithms/strings/ReverseWordsInStringTest.java)
- [RotationTest](src/test/java/com/thealgorithms/strings/RotationTest.java)
- [StringCompressionTest](src/test/java/com/thealgorithms/strings/StringCompressionTest.java)
- [StringMatchFiniteAutomataTest](src/test/java/com/thealgorithms/strings/StringMatchFiniteAutomataTest.java)
- [SuffixArrayTest](src/test/java/com/thealgorithms/strings/SuffixArrayTest.java)
- [UpperTest](src/test/java/com/thealgorithms/strings/UpperTest.java)
- [WordLadderTest](src/test/java/com/thealgorithms/strings/WordLadderTest.java)
- [ZAlgorithmTest](src/test/java/com/thealgorithms/strings/ZAlgorithmTest.java)
- **zigZagPattern**
- [ZigZagPatternTest](src/test/java/com/thealgorithms/strings/zigZagPattern/ZigZagPatternTest.java)
- **tree**
- [HeavyLightDecompositionTest](src/test/java/com/thealgorithms/tree/HeavyLightDecompositionTest.java)