From d4fcbf94bc9df18817c52962c45b5a9c2a91a60c Mon Sep 17 00:00:00 2001 From: Rak Laptudirm Date: Thu, 28 Apr 2022 15:52:20 +0530 Subject: [PATCH 1/8] chore: update directory workflow Workflow now only runs on `pull_request` to prevent pushing on the master branch. --- .github/workflows/UpdateDirectory.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/UpdateDirectory.yml b/.github/workflows/UpdateDirectory.yml index e8fda61c26..48badb573c 100644 --- a/.github/workflows/UpdateDirectory.yml +++ b/.github/workflows/UpdateDirectory.yml @@ -1,10 +1,7 @@ # This GitHub Action updates the DIRECTORY.md file (if needed) when doing a git push name: Update Directory -on: - push: - branches: - - master +on: pull_request jobs: updateDirectory: From 3e71b4a3ff61371e26a066dd4b11ab8706106058 Mon Sep 17 00:00:00 2001 From: Rak Laptudirm Date: Thu, 28 Apr 2022 16:01:54 +0530 Subject: [PATCH 2/8] chore: update commit mechanism --- .github/workflows/UpdateDirectory.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/UpdateDirectory.yml b/.github/workflows/UpdateDirectory.yml index 48badb573c..fa0a89442a 100644 --- a/.github/workflows/UpdateDirectory.yml +++ b/.github/workflows/UpdateDirectory.yml @@ -19,9 +19,16 @@ jobs: - name: 🗄️ Create Directory from JS files run: node .github/workflows/UpdateDirectory.mjs - - name: 🤓 Commit & push new Directory (if needed) + - name: Configure Github Action run: | git config --global user.name github-actions git config --global user.email '${GITHUB_ACTOR}@users.noreply.github.com' - git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY - .github/workflows/CommitAndPushDirectory.sh + + - name: 🤓 Commit & push new Directory (if needed) + run: | + if [[ `git status --porcelain` ]]; then + git commit -am "Updated Documentation in README.md" + git push + else + echo "NO CHANGES DETECTED" + fi From 5503ed32aca761b38e6a5bc5017215961fd39a8b Mon Sep 17 00:00:00 2001 From: Rak Laptudirm Date: Thu, 28 Apr 2022 16:02:24 +0530 Subject: [PATCH 3/8] chore: remove rundundant script --- .github/workflows/CommitAndPushDirectory.sh | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100755 .github/workflows/CommitAndPushDirectory.sh diff --git a/.github/workflows/CommitAndPushDirectory.sh b/.github/workflows/CommitAndPushDirectory.sh deleted file mode 100755 index eb357addf4..0000000000 --- a/.github/workflows/CommitAndPushDirectory.sh +++ /dev/null @@ -1,10 +0,0 @@ -if ! git diff --quiet DIRECTORY.md; then - echo Changes found, attempting to commit and push... - git add DIRECTORY.md - git commit -am "Auto-update DIRECTORY.md" || true - git push --force origin HEAD:$GITHUB_REF || true - echo ... done. -else - echo No changes found, exiting. -fi - From 78f5dd34937b744ad49b8ec3628dd4d52661b421 Mon Sep 17 00:00:00 2001 From: Rak Laptudirm Date: Thu, 28 Apr 2022 16:25:56 +0530 Subject: [PATCH 4/8] Update UpdateDirectory.yml --- .github/workflows/UpdateDirectory.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/UpdateDirectory.yml b/.github/workflows/UpdateDirectory.yml index fa0a89442a..687153a907 100644 --- a/.github/workflows/UpdateDirectory.yml +++ b/.github/workflows/UpdateDirectory.yml @@ -1,7 +1,7 @@ # This GitHub Action updates the DIRECTORY.md file (if needed) when doing a git push name: Update Directory -on: pull_request +on: [ push, pull_request ] jobs: updateDirectory: From 1a6b64fe26015c53c385488c6f5f6364d12249d3 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Thu, 28 Apr 2022 10:56:25 +0000 Subject: [PATCH 5/8] Updated Documentation in README.md --- DIRECTORY.md | 627 ++++++++++++++++++++++++--------------------------- 1 file changed, 289 insertions(+), 338 deletions(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index db5f619802..ff96fa327f 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -1,338 +1,289 @@ - -## Backtracking - * [AllCombinationsOfSizeK](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/AllCombinationsOfSizeK.js) - * [GeneratePermutations](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/GeneratePermutations.js) - * [KnightTour](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/KnightTour.js) - * [NQueen](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/NQueen.js) - * [RatInAMaze](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/RatInAMaze.js) - * [Sudoku](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/Sudoku.js) - * [SumOfSubset](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/SumOfSubset.js) - -## Bit-Manipulation - * [BinaryCountSetBits](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/BinaryCountSetBits.js) - * [IsPowerOfTwo](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/IsPowerOfTwo.js) - * [NextPowerOfTwo](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/NextPowerOfTwo.js) - * [SetBit](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/SetBit.js) - -## Cache - * [LFUCache](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/LFUCache.js) - * [LRUCache](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/LRUCache.js) - * [Memoize](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/Memoize.js) - * test - * [cacheTest](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/test/cacheTest.js) - -## Cellular-Automata - * [ConwaysGameOfLife](https://github.com/TheAlgorithms/Javascript/blob/master/Cellular-Automata/ConwaysGameOfLife.js) - -## Ciphers - * [Atbash](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/Atbash.js) - * [CaesarsCipher](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/CaesarsCipher.js) - * [KeyFinder](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/KeyFinder.js) - * [KeywordShiftedAlphabet](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/KeywordShiftedAlphabet.js) - * [ROT13](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/ROT13.js) - * [VigenereCipher](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/VigenereCipher.js) - * [XORCipher](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/XORCipher.js) - -## Conversions - * [ArbitraryBase](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/ArbitraryBase.js) - * [ArrayBufferToBase64](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/ArrayBufferToBase64.js) - * [Base64ToArrayBuffer](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/Base64ToArrayBuffer.js) - * [BinaryToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/BinaryToDecimal.js) - * [BinaryToHex](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/BinaryToHex.js) - * [DateDayDifference](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DateDayDifference.js) - * [DateToDay](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DateToDay.js) - * [DecimalToBinary](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToBinary.js) - * [DecimalToHex](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToHex.js) - * [DecimalToOctal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToOctal.js) - * [DecimalToRoman](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToRoman.js) - * [HexToBinary](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/HexToBinary.js) - * [HexToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/HexToDecimal.js) - * [HexToRGB](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/HexToRGB.js) - * [LowerCaseConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/LowerCaseConversion.js) - * [MeterToFeetConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/MeterToFeetConversion.js) - * [OctToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/OctToDecimal.js) - * [RailwayTimeConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RailwayTimeConversion.js) - * [RgbHsvConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RgbHsvConversion.js) - * [RGBToHex](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RGBToHex.js) - * [RomanToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RomanToDecimal.js) - * [TemperatureConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/TemperatureConversion.js) - * [TitleCaseConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/TitleCaseConversion.js) - * [UpperCaseConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/UpperCaseConversion.js) - -## Data-Structures - * Array - * [LocalMaximomPoint](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Array/LocalMaximomPoint.js) - * [NumberOfLocalMaximumPoints](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Array/NumberOfLocalMaximumPoints.js) - * [QuickSelect](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Array/QuickSelect.js) - * Graph - * [Graph](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Graph/Graph.js) - * [Graph2](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Graph/Graph2.js) - * [Graph3](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Graph/Graph3.js) - * Heap - * [MaxHeap](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Heap/MaxHeap.js) - * [MinHeap](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Heap/MinHeap.js) - * [MinPriorityQueue](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Heap/MinPriorityQueue.js) - * Linked-List - * [AddTwoNumbers](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/AddTwoNumbers.js) - * [CycleDetection](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/CycleDetection.js) - * [DoublyLinkedList](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/DoublyLinkedList.js) - * [RotateListRight](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/RotateListRight.js) - * [SinglyCircularLinkedList](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/SinglyCircularLinkedList.js) - * [SinglyLinkedList](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/SinglyLinkedList.js) - * Queue - * [CircularQueue](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Queue/CircularQueue.js) - * [Queue](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Queue/Queue.js) - * [QueueUsing2Stacks](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Queue/QueueUsing2Stacks.js) - * Stack - * [Stack](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Stack/Stack.js) - * [StackES6](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Stack/StackES6.js) - * Tree - * [AVLTree](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Tree/AVLTree.js) - * [BinarySearchTree](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Tree/BinarySearchTree.js) - * [Trie](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Tree/Trie.js) - * Vectors - * [Vector2](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Vectors/Vector2.js) - -## Dynamic-Programming - * [ClimbingStairs](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/ClimbingStairs.js) - * [CoinChange](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/CoinChange.js) - * [EditDistance](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/EditDistance.js) - * [FibonacciNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/FibonacciNumber.js) - * [FindMonthCalendar](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/FindMonthCalendar.js) - * [KadaneAlgo](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/KadaneAlgo.js) - * [LevenshteinDistance](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LevenshteinDistance.js) - * [LongestCommonSubsequence](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestCommonSubsequence.js) - * [LongestIncreasingSubsequence](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestIncreasingSubsequence.js) - * [LongestPalindromicSubsequence](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestPalindromicSubsequence.js) - * [LongestValidParentheses](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestValidParentheses.js) - * [MaxNonAdjacentSum](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/MaxNonAdjacentSum.js) - * [MaxProductOfThree](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/MaxProductOfThree.js) - * [MinimumCostPath](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/MinimumCostPath.js) - * [NumberOfSubsetEqualToGivenSum](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js) - * [RodCutting](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/RodCutting.js) - * [Shuf](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/Shuf.js) - * [SieveOfEratosthenes](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/SieveOfEratosthenes.js) - * Sliding-Window - * [LongestSubstringWithoutRepeatingCharacters](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js) - * [PermutationinString](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/Sliding-Window/PermutationinString.js) - * [SudokuSolver](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/SudokuSolver.js) - * [TrappingRainWater](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/TrappingRainWater.js) - * [TribonacciNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/TribonacciNumber.js) - * [ZeroOneKnapsack](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/ZeroOneKnapsack.js) - -## Geometry - * [ConvexHullGraham](https://github.com/TheAlgorithms/Javascript/blob/master/Geometry/ConvexHullGraham.js) - -## Graphs - * [BellmanFord](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/BellmanFord.js) - * [BreadthFirstSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/BreadthFirstSearch.js) - * [BreadthFirstShortestPath](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/BreadthFirstShortestPath.js) - * [ConnectedComponents](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/ConnectedComponents.js) - * [Density](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/Density.js) - * [DepthFirstSearchIterative](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/DepthFirstSearchIterative.js) - * [DepthFirstSearchRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/DepthFirstSearchRecursive.js) - * [Dijkstra](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/Dijkstra.js) - * [DijkstraSmallestPath](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/DijkstraSmallestPath.js) - * [FloydWarshall](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/FloydWarshall.js) - * [KruskalMST](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/KruskalMST.js) - * [NodeNeighbors](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/NodeNeighbors.js) - * [NumberOfIslands](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/NumberOfIslands.js) - * [PrimMST](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/PrimMST.js) - -## Hashes - * [SHA1](https://github.com/TheAlgorithms/Javascript/blob/master/Hashes/SHA1.js) - * [SHA256](https://github.com/TheAlgorithms/Javascript/blob/master/Hashes/SHA256.js) - -## Maths - * [Abs](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Abs.js) - * [AliquotSum](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/AliquotSum.js) - * [Area](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Area.js) - * [ArithmeticGeometricMean](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ArithmeticGeometricMean.js) - * [ArmstrongNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ArmstrongNumber.js) - * [AverageMean](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/AverageMean.js) - * [AverageMedian](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/AverageMedian.js) - * [BinaryConvert](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BinaryConvert.js) - * [BinaryExponentiationIterative](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BinaryExponentiationIterative.js) - * [BinaryExponentiationRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BinaryExponentiationRecursive.js) - * [BisectionMethod](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BisectionMethod.js) - * [CheckKishnamurthyNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/CheckKishnamurthyNumber.js) - * [Coordinate](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Coordinate.js) - * [CoPrimeCheck](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/CoPrimeCheck.js) - * [DecimalExpansion](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/DecimalExpansion.js) - * [DecimalIsolate](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/DecimalIsolate.js) - * [DegreeToRadian](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/DegreeToRadian.js) - * [EulerMethod](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/EulerMethod.js) - * [EulersTotient](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/EulersTotient.js) - * [EulersTotientFunction](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/EulersTotientFunction.js) - * [ExtendedEuclideanGCD](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ExtendedEuclideanGCD.js) - * [Factorial](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Factorial.js) - * [Factors](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Factors.js) - * [FareyApproximation](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FareyApproximation.js) - * [FermatPrimalityTest](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FermatPrimalityTest.js) - * [Fibonacci](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Fibonacci.js) - * [FigurateNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FigurateNumber.js) - * [FindHcf](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindHcf.js) - * [FindLcm](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindLcm.js) - * [FindMin](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindMin.js) - * [FindMinIterator](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindMinIterator.js) - * [GetEuclidGCD](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/GetEuclidGCD.js) - * [GridGet](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/GridGet.js) - * [IsDivisible](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/IsDivisible.js) - * [IsEven](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/IsEven.js) - * [IsOdd](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/IsOdd.js) - * [LeapYear](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/LeapYear.js) - * [LinearSieve](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/LinearSieve.js) - * [LucasSeries](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/LucasSeries.js) - * [Mandelbrot](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Mandelbrot.js) - * [MatrixExponentiationRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MatrixExponentiationRecursive.js) - * [MatrixMultiplication](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MatrixMultiplication.js) - * [MeanSquareError](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MeanSquareError.js) - * [MidpointIntegration](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MidpointIntegration.js) - * [ModularBinaryExponentiationRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ModularBinaryExponentiationRecursive.js) - * [NumberOfDigits](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/NumberOfDigits.js) - * [Palindrome](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Palindrome.js) - * [PascalTriangle](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PascalTriangle.js) - * [PerfectCube](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PerfectCube.js) - * [PerfectNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PerfectNumber.js) - * [PerfectSquare](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PerfectSquare.js) - * [PermutationAndCombination](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PermutationAndCombination.js) - * [PiApproximationMonteCarlo](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PiApproximationMonteCarlo.js) - * [Polynomial](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Polynomial.js) - * [Pow](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Pow.js) - * [PowLogarithmic](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PowLogarithmic.js) - * [PrimeCheck](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PrimeCheck.js) - * [PrimeFactors](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PrimeFactors.js) - * [RadianToDegree](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/RadianToDegree.js) - * [ReverseNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ReverseNumber.js) - * [ReversePolishNotation](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ReversePolishNotation.js) - * [SieveOfEratosthenes](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SieveOfEratosthenes.js) - * [SimpsonIntegration](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SimpsonIntegration.js) - * [Softmax](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Softmax.js) - * [SquareRoot](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SquareRoot.js) - * [SumOfDigits](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SumOfDigits.js) - * [SumOfGeometricProgression](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SumOfGeometricProgression.js) - * [Volume](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Volume.js) - * [WhileLoopFactorial](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/WhileLoopFactorial.js) - -## Navigation - * [Haversine](https://github.com/TheAlgorithms/Javascript/blob/master/Navigation/Haversine.js) - -## Project-Euler - * [Problem001](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem001.js) - * [Problem002](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem002.js) - * [Problem003](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem003.js) - * [Problem004](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem004.js) - * [Problem005](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem005.js) - * [Problem006](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem006.js) - * [Problem008](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem008.js) - * [Problem009](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem009.js) - * [Problem010](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem010.js) - * [Problem012](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem012.js) - * [Problem014](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem014.js) - * [Problem015](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem015.js) - * [Problem016](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem016.js) - * [Problem018](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem018.js) - * [Problem020](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem020.js) - * [Problem023](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem023.js) - * [Problem025](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem025.js) - -## Recursive - * [BinaryEquivalent](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/BinaryEquivalent.js) - * [BinarySearch](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/BinarySearch.js) - * [EucledianGCD](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/EucledianGCD.js) - * [Factorial](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/Factorial.js) - * [FibonacciNumberRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/FibonacciNumberRecursive.js) - * [FloodFill](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/FloodFill.js) - * [KochSnowflake](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/KochSnowflake.js) - * [Palindrome](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/Palindrome.js) - * [SubsequenceRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/SubsequenceRecursive.js) - * [TowerOfHanoi](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/TowerOfHanoi.js) - -## Search - * [BinarySearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/BinarySearch.js) - * [ExponentialSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/ExponentialSearch.js) - * [FibonacciSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/FibonacciSearch.js) - * [InterpolationSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/InterpolationSearch.js) - * [JumpSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/JumpSearch.js) - * [LinearSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/LinearSearch.js) - * [QuickSelectSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/QuickSelectSearch.js) - * [SlidingWindow](https://github.com/TheAlgorithms/Javascript/blob/master/Search/SlidingWindow.js) - * [StringSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/StringSearch.js) - * [TernarySearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/TernarySearch.js) - * [UnionFind](https://github.com/TheAlgorithms/Javascript/blob/master/Search/UnionFind.js) - -## Sorts - * [AlphaNumericalSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/AlphaNumericalSort.js) - * [BeadSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BeadSort.js) - * [BogoSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BogoSort.js) - * [BubbleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BubbleSort.js) - * [BucketSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BucketSort.js) - * [CocktailShakerSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CocktailShakerSort.js) - * [CombSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CombSort.js) - * [CountingSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CountingSort.js) - * [CycleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CycleSort.js) - * [FindSecondLargestElement](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FindSecondLargestElement.js) - * [FisherYatesShuffle](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FisherYatesShuffle.js) - * [FlashSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FlashSort.js) - * [GnomeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js) - * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) - * [HeapSortV2](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSortV2.js) - * [InsertionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js) - * [IntroSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/IntroSort.js) - * [MergeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/MergeSort.js) - * [OddEvenSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/OddEvenSort.js) - * [PancakeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/PancakeSort.js) - * [PigeonHoleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/PigeonHoleSort.js) - * [QuickSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSort.js) - * [QuickSortRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSortRecursive.js) - * [RadixSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/RadixSort.js) - * [SelectionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/SelectionSort.js) - * [ShellSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/ShellSort.js) - * [TimSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/TimSort.js) - * [TopologicalSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/TopologicalSort.js) - * [WiggleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/WiggleSort.js) - -## String - * [AlphaNumericPalindrome](https://github.com/TheAlgorithms/Javascript/blob/master/String/AlphaNumericPalindrome.js) - * [AlternativeStringArrange](https://github.com/TheAlgorithms/Javascript/blob/master/String/AlternativeStringArrange.js) - * [BoyerMoore](https://github.com/TheAlgorithms/Javascript/blob/master/String/BoyerMoore.js) - * [CheckAnagram](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckAnagram.js) - * [CheckCamelCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckCamelCase.js) - * [CheckExceeding](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckExceeding.js) - * [CheckFlatCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckFlatCase.js) - * [CheckKebabCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckKebabCase.js) - * [CheckPalindrome](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckPalindrome.js) - * [CheckPangram](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckPangram.js) - * [CheckPascalCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckPascalCase.js) - * [CheckRearrangePalindrome](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckRearrangePalindrome.js) - * [CheckSnakeCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckSnakeCase.js) - * [CheckWordOccurrence](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckWordOccurrence.js) - * [CountVowels](https://github.com/TheAlgorithms/Javascript/blob/master/String/CountVowels.js) - * [CreatePermutations](https://github.com/TheAlgorithms/Javascript/blob/master/String/CreatePermutations.js) - * [DiceCoefficient](https://github.com/TheAlgorithms/Javascript/blob/master/String/DiceCoefficient.js) - * [FormatPhoneNumber](https://github.com/TheAlgorithms/Javascript/blob/master/String/FormatPhoneNumber.js) - * [GenerateGUID](https://github.com/TheAlgorithms/Javascript/blob/master/String/GenerateGUID.js) - * [HammingDistance](https://github.com/TheAlgorithms/Javascript/blob/master/String/HammingDistance.js) - * [KMPPatternSearching](https://github.com/TheAlgorithms/Javascript/blob/master/String/KMPPatternSearching.js) - * [LevenshteinDistance](https://github.com/TheAlgorithms/Javascript/blob/master/String/LevenshteinDistance.js) - * [Lower](https://github.com/TheAlgorithms/Javascript/blob/master/String/Lower.js) - * [MaxCharacter](https://github.com/TheAlgorithms/Javascript/blob/master/String/MaxCharacter.js) - * [MaxWord](https://github.com/TheAlgorithms/Javascript/blob/master/String/MaxWord.js) - * [PatternMatching](https://github.com/TheAlgorithms/Javascript/blob/master/String/PatternMatching.js) - * [PermutateString](https://github.com/TheAlgorithms/Javascript/blob/master/String/PermutateString.js) - * [ReverseString](https://github.com/TheAlgorithms/Javascript/blob/master/String/ReverseString.js) - * [ReverseWords](https://github.com/TheAlgorithms/Javascript/blob/master/String/ReverseWords.js) - * [ScrambleStrings](https://github.com/TheAlgorithms/Javascript/blob/master/String/ScrambleStrings.js) - * [Upper](https://github.com/TheAlgorithms/Javascript/blob/master/String/Upper.js) - * [ValidateCreditCard](https://github.com/TheAlgorithms/Javascript/blob/master/String/ValidateCreditCard.js) - * [ValidateEmail](https://github.com/TheAlgorithms/Javascript/blob/master/String/ValidateEmail.js) - * [ValidateUrl](https://github.com/TheAlgorithms/Javascript/blob/master/String/ValidateUrl.js) - -## Timing-Functions - * [GetMonthDays](https://github.com/TheAlgorithms/Javascript/blob/master/Timing-Functions/GetMonthDays.js) - * [IntervalTimer](https://github.com/TheAlgorithms/Javascript/blob/master/Timing-Functions/IntervalTimer.js) - -## Trees - * [BreadthFirstTreeTraversal](https://github.com/TheAlgorithms/Javascript/blob/master/Trees/BreadthFirstTreeTraversal.js) - * [DepthFirstSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Trees/DepthFirstSearch.js) - * [FenwickTree](https://github.com/TheAlgorithms/Javascript/blob/master/Trees/FenwickTree.js) + * [AllCombinationsOfSizeK](/AllCombinationsOfSizeK.js) + * [GeneratePermutations](/GeneratePermutations.js) + * [KnightTour](/KnightTour.js) + * [NQueen](/NQueen.js) + * [RatInAMaze](/RatInAMaze.js) + * [Sudoku](/Sudoku.js) + * [SumOfSubset](/SumOfSubset.js) + * [BinaryCountSetBits](/BinaryCountSetBits.js) + * [IsPowerOfTwo](/IsPowerOfTwo.js) + * [NextPowerOfTwo](/NextPowerOfTwo.js) + * [SetBit](/SetBit.js) + * [LFUCache](/LFUCache.js) + * [LRUCache](/LRUCache.js) + * [Memoize](/Memoize.js) + * [ConwaysGameOfLife](/ConwaysGameOfLife.js) + * [Atbash](/Atbash.js) + * [CaesarsCipher](/CaesarsCipher.js) + * [KeyFinder](/KeyFinder.js) + * [KeywordShiftedAlphabet](/KeywordShiftedAlphabet.js) + * [ROT13](/ROT13.js) + * [VigenereCipher](/VigenereCipher.js) + * [XORCipher](/XORCipher.js) + * [ArbitraryBase](/ArbitraryBase.js) + * [ArrayBufferToBase64](/ArrayBufferToBase64.js) + * [Base64ToArrayBuffer](/Base64ToArrayBuffer.js) + * [BinaryToDecimal](/BinaryToDecimal.js) + * [BinaryToHex](/BinaryToHex.js) + * [DateDayDifference](/DateDayDifference.js) + * [DateToDay](/DateToDay.js) + * [DecimalToBinary](/DecimalToBinary.js) + * [DecimalToHex](/DecimalToHex.js) + * [DecimalToOctal](/DecimalToOctal.js) + * [DecimalToRoman](/DecimalToRoman.js) + * [HexToBinary](/HexToBinary.js) + * [HexToDecimal](/HexToDecimal.js) + * [HexToRGB](/HexToRGB.js) + * [LowerCaseConversion](/LowerCaseConversion.js) + * [MeterToFeetConversion](/MeterToFeetConversion.js) + * [OctToDecimal](/OctToDecimal.js) + * [RailwayTimeConversion](/RailwayTimeConversion.js) + * [RgbHsvConversion](/RgbHsvConversion.js) + * [RGBToHex](/RGBToHex.js) + * [RomanToDecimal](/RomanToDecimal.js) + * [TemperatureConversion](/TemperatureConversion.js) + * [TitleCaseConversion](/TitleCaseConversion.js) + * [UpperCaseConversion](/UpperCaseConversion.js) + * [LocalMaximomPoint](/LocalMaximomPoint.js) + * [NumberOfLocalMaximumPoints](/NumberOfLocalMaximumPoints.js) + * [QuickSelect](/QuickSelect.js) + * [Graph](/Graph.js) + * [Graph2](/Graph2.js) + * [Graph3](/Graph3.js) + * [MaxHeap](/MaxHeap.js) + * [MinHeap](/MinHeap.js) + * [MinPriorityQueue](/MinPriorityQueue.js) + * [AddTwoNumbers](/AddTwoNumbers.js) + * [CycleDetection](/CycleDetection.js) + * [DoublyLinkedList](/DoublyLinkedList.js) + * [RotateListRight](/RotateListRight.js) + * [SinglyCircularLinkedList](/SinglyCircularLinkedList.js) + * [SinglyLinkedList](/SinglyLinkedList.js) + * [CircularQueue](/CircularQueue.js) + * [Queue](/Queue.js) + * [QueueUsing2Stacks](/QueueUsing2Stacks.js) + * [Stack](/Stack.js) + * [StackES6](/StackES6.js) + * [AVLTree](/AVLTree.js) + * [BinarySearchTree](/BinarySearchTree.js) + * [Trie](/Trie.js) + * [Vector2](/Vector2.js) + * [ClimbingStairs](/ClimbingStairs.js) + * [CoinChange](/CoinChange.js) + * [EditDistance](/EditDistance.js) + * [FibonacciNumber](/FibonacciNumber.js) + * [FindMonthCalendar](/FindMonthCalendar.js) + * [KadaneAlgo](/KadaneAlgo.js) + * [LevenshteinDistance](/LevenshteinDistance.js) + * [LongestCommonSubsequence](/LongestCommonSubsequence.js) + * [LongestIncreasingSubsequence](/LongestIncreasingSubsequence.js) + * [LongestPalindromicSubsequence](/LongestPalindromicSubsequence.js) + * [LongestValidParentheses](/LongestValidParentheses.js) + * [MaxNonAdjacentSum](/MaxNonAdjacentSum.js) + * [MaxProductOfThree](/MaxProductOfThree.js) + * [MinimumCostPath](/MinimumCostPath.js) + * [NumberOfSubsetEqualToGivenSum](/NumberOfSubsetEqualToGivenSum.js) + * [RodCutting](/RodCutting.js) + * [Shuf](/Shuf.js) + * [SieveOfEratosthenes](/SieveOfEratosthenes.js) + * [LongestSubstringWithoutRepeatingCharacters](/LongestSubstringWithoutRepeatingCharacters.js) + * [PermutationinString](/PermutationinString.js) + * [SudokuSolver](/SudokuSolver.js) + * [TrappingRainWater](/TrappingRainWater.js) + * [TribonacciNumber](/TribonacciNumber.js) + * [ZeroOneKnapsack](/ZeroOneKnapsack.js) + * [ConvexHullGraham](/ConvexHullGraham.js) + * [BellmanFord](/BellmanFord.js) + * [BreadthFirstSearch](/BreadthFirstSearch.js) + * [BreadthFirstShortestPath](/BreadthFirstShortestPath.js) + * [ConnectedComponents](/ConnectedComponents.js) + * [Density](/Density.js) + * [DepthFirstSearchIterative](/DepthFirstSearchIterative.js) + * [DepthFirstSearchRecursive](/DepthFirstSearchRecursive.js) + * [Dijkstra](/Dijkstra.js) + * [DijkstraSmallestPath](/DijkstraSmallestPath.js) + * [FloydWarshall](/FloydWarshall.js) + * [KruskalMST](/KruskalMST.js) + * [NodeNeighbors](/NodeNeighbors.js) + * [NumberOfIslands](/NumberOfIslands.js) + * [PrimMST](/PrimMST.js) + * [SHA1](/SHA1.js) + * [SHA256](/SHA256.js) + * [Abs](/Abs.js) + * [AliquotSum](/AliquotSum.js) + * [Area](/Area.js) + * [ArithmeticGeometricMean](/ArithmeticGeometricMean.js) + * [ArmstrongNumber](/ArmstrongNumber.js) + * [AverageMean](/AverageMean.js) + * [AverageMedian](/AverageMedian.js) + * [BinaryConvert](/BinaryConvert.js) + * [BinaryExponentiationIterative](/BinaryExponentiationIterative.js) + * [BinaryExponentiationRecursive](/BinaryExponentiationRecursive.js) + * [BisectionMethod](/BisectionMethod.js) + * [CheckKishnamurthyNumber](/CheckKishnamurthyNumber.js) + * [Coordinate](/Coordinate.js) + * [CoPrimeCheck](/CoPrimeCheck.js) + * [DecimalExpansion](/DecimalExpansion.js) + * [DecimalIsolate](/DecimalIsolate.js) + * [DegreeToRadian](/DegreeToRadian.js) + * [EulerMethod](/EulerMethod.js) + * [EulersTotient](/EulersTotient.js) + * [EulersTotientFunction](/EulersTotientFunction.js) + * [ExtendedEuclideanGCD](/ExtendedEuclideanGCD.js) + * [Factorial](/Factorial.js) + * [Factors](/Factors.js) + * [FareyApproximation](/FareyApproximation.js) + * [FermatPrimalityTest](/FermatPrimalityTest.js) + * [Fibonacci](/Fibonacci.js) + * [FigurateNumber](/FigurateNumber.js) + * [FindHcf](/FindHcf.js) + * [FindLcm](/FindLcm.js) + * [FindMin](/FindMin.js) + * [FindMinIterator](/FindMinIterator.js) + * [GetEuclidGCD](/GetEuclidGCD.js) + * [GridGet](/GridGet.js) + * [IsDivisible](/IsDivisible.js) + * [IsEven](/IsEven.js) + * [IsOdd](/IsOdd.js) + * [LeapYear](/LeapYear.js) + * [LinearSieve](/LinearSieve.js) + * [LucasSeries](/LucasSeries.js) + * [Mandelbrot](/Mandelbrot.js) + * [MatrixExponentiationRecursive](/MatrixExponentiationRecursive.js) + * [MatrixMultiplication](/MatrixMultiplication.js) + * [MeanSquareError](/MeanSquareError.js) + * [MidpointIntegration](/MidpointIntegration.js) + * [ModularBinaryExponentiationRecursive](/ModularBinaryExponentiationRecursive.js) + * [NumberOfDigits](/NumberOfDigits.js) + * [Palindrome](/Palindrome.js) + * [PascalTriangle](/PascalTriangle.js) + * [PerfectCube](/PerfectCube.js) + * [PerfectNumber](/PerfectNumber.js) + * [PerfectSquare](/PerfectSquare.js) + * [PermutationAndCombination](/PermutationAndCombination.js) + * [PiApproximationMonteCarlo](/PiApproximationMonteCarlo.js) + * [Polynomial](/Polynomial.js) + * [Pow](/Pow.js) + * [PowLogarithmic](/PowLogarithmic.js) + * [PrimeCheck](/PrimeCheck.js) + * [PrimeFactors](/PrimeFactors.js) + * [RadianToDegree](/RadianToDegree.js) + * [ReverseNumber](/ReverseNumber.js) + * [ReversePolishNotation](/ReversePolishNotation.js) + * [SieveOfEratosthenes](/SieveOfEratosthenes.js) + * [SimpsonIntegration](/SimpsonIntegration.js) + * [Softmax](/Softmax.js) + * [SquareRoot](/SquareRoot.js) + * [SumOfDigits](/SumOfDigits.js) + * [SumOfGeometricProgression](/SumOfGeometricProgression.js) + * [Volume](/Volume.js) + * [WhileLoopFactorial](/WhileLoopFactorial.js) + * [ZellersCongruenceAlgorithm](/ZellersCongruenceAlgorithm.js) + * [Haversine](/Haversine.js) + * [Problem001](/Problem001.js) + * [Problem002](/Problem002.js) + * [Problem003](/Problem003.js) + * [Problem004](/Problem004.js) + * [Problem005](/Problem005.js) + * [Problem006](/Problem006.js) + * [Problem008](/Problem008.js) + * [Problem009](/Problem009.js) + * [Problem010](/Problem010.js) + * [Problem012](/Problem012.js) + * [Problem014](/Problem014.js) + * [Problem015](/Problem015.js) + * [Problem016](/Problem016.js) + * [Problem018](/Problem018.js) + * [Problem020](/Problem020.js) + * [Problem023](/Problem023.js) + * [Problem025](/Problem025.js) + * [BinaryEquivalent](/BinaryEquivalent.js) + * [BinarySearch](/BinarySearch.js) + * [EucledianGCD](/EucledianGCD.js) + * [Factorial](/Factorial.js) + * [FibonacciNumberRecursive](/FibonacciNumberRecursive.js) + * [FloodFill](/FloodFill.js) + * [KochSnowflake](/KochSnowflake.js) + * [Palindrome](/Palindrome.js) + * [SubsequenceRecursive](/SubsequenceRecursive.js) + * [TowerOfHanoi](/TowerOfHanoi.js) + * [BinarySearch](/BinarySearch.js) + * [ExponentialSearch](/ExponentialSearch.js) + * [FibonacciSearch](/FibonacciSearch.js) + * [InterpolationSearch](/InterpolationSearch.js) + * [JumpSearch](/JumpSearch.js) + * [LinearSearch](/LinearSearch.js) + * [QuickSelectSearch](/QuickSelectSearch.js) + * [SlidingWindow](/SlidingWindow.js) + * [StringSearch](/StringSearch.js) + * [TernarySearch](/TernarySearch.js) + * [UnionFind](/UnionFind.js) + * [AlphaNumericalSort](/AlphaNumericalSort.js) + * [BeadSort](/BeadSort.js) + * [BogoSort](/BogoSort.js) + * [BubbleSort](/BubbleSort.js) + * [BucketSort](/BucketSort.js) + * [CocktailShakerSort](/CocktailShakerSort.js) + * [CombSort](/CombSort.js) + * [CountingSort](/CountingSort.js) + * [CycleSort](/CycleSort.js) + * [FindSecondLargestElement](/FindSecondLargestElement.js) + * [FisherYatesShuffle](/FisherYatesShuffle.js) + * [FlashSort](/FlashSort.js) + * [GnomeSort](/GnomeSort.js) + * [HeapSort](/HeapSort.js) + * [HeapSortV2](/HeapSortV2.js) + * [InsertionSort](/InsertionSort.js) + * [IntroSort](/IntroSort.js) + * [MergeSort](/MergeSort.js) + * [OddEvenSort](/OddEvenSort.js) + * [PancakeSort](/PancakeSort.js) + * [PigeonHoleSort](/PigeonHoleSort.js) + * [QuickSort](/QuickSort.js) + * [QuickSortRecursive](/QuickSortRecursive.js) + * [RadixSort](/RadixSort.js) + * [SelectionSort](/SelectionSort.js) + * [ShellSort](/ShellSort.js) + * [SimplifiedWiggleSort](/SimplifiedWiggleSort.js) + * [StoogeSort](/StoogeSort.js) + * [TimSort](/TimSort.js) + * [TopologicalSort](/TopologicalSort.js) + * [AlphaNumericPalindrome](/AlphaNumericPalindrome.js) + * [AlternativeStringArrange](/AlternativeStringArrange.js) + * [BoyerMoore](/BoyerMoore.js) + * [CheckAnagram](/CheckAnagram.js) + * [CheckCamelCase](/CheckCamelCase.js) + * [CheckExceeding](/CheckExceeding.js) + * [CheckFlatCase](/CheckFlatCase.js) + * [CheckKebabCase](/CheckKebabCase.js) + * [CheckPalindrome](/CheckPalindrome.js) + * [CheckPangram](/CheckPangram.js) + * [CheckPascalCase](/CheckPascalCase.js) + * [CheckRearrangePalindrome](/CheckRearrangePalindrome.js) + * [CheckSnakeCase](/CheckSnakeCase.js) + * [CheckWordOccurrence](/CheckWordOccurrence.js) + * [CountVowels](/CountVowels.js) + * [CreatePermutations](/CreatePermutations.js) + * [DiceCoefficient](/DiceCoefficient.js) + * [FormatPhoneNumber](/FormatPhoneNumber.js) + * [GenerateGUID](/GenerateGUID.js) + * [HammingDistance](/HammingDistance.js) + * [KMPPatternSearching](/KMPPatternSearching.js) + * [LevenshteinDistance](/LevenshteinDistance.js) + * [Lower](/Lower.js) + * [MaxCharacter](/MaxCharacter.js) + * [MaxWord](/MaxWord.js) + * [PatternMatching](/PatternMatching.js) + * [PermutateString](/PermutateString.js) + * [ReverseString](/ReverseString.js) + * [ReverseWords](/ReverseWords.js) + * [ScrambleStrings](/ScrambleStrings.js) + * [Upper](/Upper.js) + * [ValidateCreditCard](/ValidateCreditCard.js) + * [ValidateEmail](/ValidateEmail.js) + * [ValidateUrl](/ValidateUrl.js) + * [GetMonthDays](/GetMonthDays.js) + * [IntervalTimer](/IntervalTimer.js) + * [BreadthFirstTreeTraversal](/BreadthFirstTreeTraversal.js) + * [DepthFirstSearch](/DepthFirstSearch.js) + * [FenwickTree](/FenwickTree.js) From a769375043432946fba923c1fc69f76aeae9bec0 Mon Sep 17 00:00:00 2001 From: Rak Laptudirm Date: Thu, 28 Apr 2022 16:29:07 +0530 Subject: [PATCH 6/8] Update UpdateDirectory.yml --- .github/workflows/UpdateDirectory.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/UpdateDirectory.yml b/.github/workflows/UpdateDirectory.yml index 687153a907..d5202b2d21 100644 --- a/.github/workflows/UpdateDirectory.yml +++ b/.github/workflows/UpdateDirectory.yml @@ -1,7 +1,10 @@ # This GitHub Action updates the DIRECTORY.md file (if needed) when doing a git push name: Update Directory -on: [ push, pull_request ] +on: + push: + branches-ignore: + "master" jobs: updateDirectory: From b9a792d6b506a1c13944a7d4fa185d0271eed962 Mon Sep 17 00:00:00 2001 From: Rak Laptudirm Date: Thu, 28 Apr 2022 16:33:46 +0530 Subject: [PATCH 7/8] fix: replace wrong variable --- .github/workflows/UpdateDirectory.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/UpdateDirectory.mjs b/.github/workflows/UpdateDirectory.mjs index 9a528bf20d..0136f4bae4 100644 --- a/.github/workflows/UpdateDirectory.mjs +++ b/.github/workflows/UpdateDirectory.mjs @@ -35,7 +35,7 @@ function pathsToMarkdown (filePaths) { for (let filepath of filePaths) { let filename = path.basename(filepath) - filepath = path.dirname(path.sep) + filepath = path.dirname(filepath) if (filepath !== oldPath) { oldPath = printPath(oldPath, filepath, output) From f49f6f4ff973a2eb841901fed2c237a22c7f541b Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Thu, 28 Apr 2022 11:04:17 +0000 Subject: [PATCH 8/8] Updated Documentation in README.md --- DIRECTORY.md | 607 +++++++++++++++++++++++++++------------------------ 1 file changed, 318 insertions(+), 289 deletions(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index ff96fa327f..df10ce16c0 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -1,289 +1,318 @@ - * [AllCombinationsOfSizeK](/AllCombinationsOfSizeK.js) - * [GeneratePermutations](/GeneratePermutations.js) - * [KnightTour](/KnightTour.js) - * [NQueen](/NQueen.js) - * [RatInAMaze](/RatInAMaze.js) - * [Sudoku](/Sudoku.js) - * [SumOfSubset](/SumOfSubset.js) - * [BinaryCountSetBits](/BinaryCountSetBits.js) - * [IsPowerOfTwo](/IsPowerOfTwo.js) - * [NextPowerOfTwo](/NextPowerOfTwo.js) - * [SetBit](/SetBit.js) - * [LFUCache](/LFUCache.js) - * [LRUCache](/LRUCache.js) - * [Memoize](/Memoize.js) - * [ConwaysGameOfLife](/ConwaysGameOfLife.js) - * [Atbash](/Atbash.js) - * [CaesarsCipher](/CaesarsCipher.js) - * [KeyFinder](/KeyFinder.js) - * [KeywordShiftedAlphabet](/KeywordShiftedAlphabet.js) - * [ROT13](/ROT13.js) - * [VigenereCipher](/VigenereCipher.js) - * [XORCipher](/XORCipher.js) - * [ArbitraryBase](/ArbitraryBase.js) - * [ArrayBufferToBase64](/ArrayBufferToBase64.js) - * [Base64ToArrayBuffer](/Base64ToArrayBuffer.js) - * [BinaryToDecimal](/BinaryToDecimal.js) - * [BinaryToHex](/BinaryToHex.js) - * [DateDayDifference](/DateDayDifference.js) - * [DateToDay](/DateToDay.js) - * [DecimalToBinary](/DecimalToBinary.js) - * [DecimalToHex](/DecimalToHex.js) - * [DecimalToOctal](/DecimalToOctal.js) - * [DecimalToRoman](/DecimalToRoman.js) - * [HexToBinary](/HexToBinary.js) - * [HexToDecimal](/HexToDecimal.js) - * [HexToRGB](/HexToRGB.js) - * [LowerCaseConversion](/LowerCaseConversion.js) - * [MeterToFeetConversion](/MeterToFeetConversion.js) - * [OctToDecimal](/OctToDecimal.js) - * [RailwayTimeConversion](/RailwayTimeConversion.js) - * [RgbHsvConversion](/RgbHsvConversion.js) - * [RGBToHex](/RGBToHex.js) - * [RomanToDecimal](/RomanToDecimal.js) - * [TemperatureConversion](/TemperatureConversion.js) - * [TitleCaseConversion](/TitleCaseConversion.js) - * [UpperCaseConversion](/UpperCaseConversion.js) - * [LocalMaximomPoint](/LocalMaximomPoint.js) - * [NumberOfLocalMaximumPoints](/NumberOfLocalMaximumPoints.js) - * [QuickSelect](/QuickSelect.js) - * [Graph](/Graph.js) - * [Graph2](/Graph2.js) - * [Graph3](/Graph3.js) - * [MaxHeap](/MaxHeap.js) - * [MinHeap](/MinHeap.js) - * [MinPriorityQueue](/MinPriorityQueue.js) - * [AddTwoNumbers](/AddTwoNumbers.js) - * [CycleDetection](/CycleDetection.js) - * [DoublyLinkedList](/DoublyLinkedList.js) - * [RotateListRight](/RotateListRight.js) - * [SinglyCircularLinkedList](/SinglyCircularLinkedList.js) - * [SinglyLinkedList](/SinglyLinkedList.js) - * [CircularQueue](/CircularQueue.js) - * [Queue](/Queue.js) - * [QueueUsing2Stacks](/QueueUsing2Stacks.js) - * [Stack](/Stack.js) - * [StackES6](/StackES6.js) - * [AVLTree](/AVLTree.js) - * [BinarySearchTree](/BinarySearchTree.js) - * [Trie](/Trie.js) - * [Vector2](/Vector2.js) - * [ClimbingStairs](/ClimbingStairs.js) - * [CoinChange](/CoinChange.js) - * [EditDistance](/EditDistance.js) - * [FibonacciNumber](/FibonacciNumber.js) - * [FindMonthCalendar](/FindMonthCalendar.js) - * [KadaneAlgo](/KadaneAlgo.js) - * [LevenshteinDistance](/LevenshteinDistance.js) - * [LongestCommonSubsequence](/LongestCommonSubsequence.js) - * [LongestIncreasingSubsequence](/LongestIncreasingSubsequence.js) - * [LongestPalindromicSubsequence](/LongestPalindromicSubsequence.js) - * [LongestValidParentheses](/LongestValidParentheses.js) - * [MaxNonAdjacentSum](/MaxNonAdjacentSum.js) - * [MaxProductOfThree](/MaxProductOfThree.js) - * [MinimumCostPath](/MinimumCostPath.js) - * [NumberOfSubsetEqualToGivenSum](/NumberOfSubsetEqualToGivenSum.js) - * [RodCutting](/RodCutting.js) - * [Shuf](/Shuf.js) - * [SieveOfEratosthenes](/SieveOfEratosthenes.js) - * [LongestSubstringWithoutRepeatingCharacters](/LongestSubstringWithoutRepeatingCharacters.js) - * [PermutationinString](/PermutationinString.js) - * [SudokuSolver](/SudokuSolver.js) - * [TrappingRainWater](/TrappingRainWater.js) - * [TribonacciNumber](/TribonacciNumber.js) - * [ZeroOneKnapsack](/ZeroOneKnapsack.js) - * [ConvexHullGraham](/ConvexHullGraham.js) - * [BellmanFord](/BellmanFord.js) - * [BreadthFirstSearch](/BreadthFirstSearch.js) - * [BreadthFirstShortestPath](/BreadthFirstShortestPath.js) - * [ConnectedComponents](/ConnectedComponents.js) - * [Density](/Density.js) - * [DepthFirstSearchIterative](/DepthFirstSearchIterative.js) - * [DepthFirstSearchRecursive](/DepthFirstSearchRecursive.js) - * [Dijkstra](/Dijkstra.js) - * [DijkstraSmallestPath](/DijkstraSmallestPath.js) - * [FloydWarshall](/FloydWarshall.js) - * [KruskalMST](/KruskalMST.js) - * [NodeNeighbors](/NodeNeighbors.js) - * [NumberOfIslands](/NumberOfIslands.js) - * [PrimMST](/PrimMST.js) - * [SHA1](/SHA1.js) - * [SHA256](/SHA256.js) - * [Abs](/Abs.js) - * [AliquotSum](/AliquotSum.js) - * [Area](/Area.js) - * [ArithmeticGeometricMean](/ArithmeticGeometricMean.js) - * [ArmstrongNumber](/ArmstrongNumber.js) - * [AverageMean](/AverageMean.js) - * [AverageMedian](/AverageMedian.js) - * [BinaryConvert](/BinaryConvert.js) - * [BinaryExponentiationIterative](/BinaryExponentiationIterative.js) - * [BinaryExponentiationRecursive](/BinaryExponentiationRecursive.js) - * [BisectionMethod](/BisectionMethod.js) - * [CheckKishnamurthyNumber](/CheckKishnamurthyNumber.js) - * [Coordinate](/Coordinate.js) - * [CoPrimeCheck](/CoPrimeCheck.js) - * [DecimalExpansion](/DecimalExpansion.js) - * [DecimalIsolate](/DecimalIsolate.js) - * [DegreeToRadian](/DegreeToRadian.js) - * [EulerMethod](/EulerMethod.js) - * [EulersTotient](/EulersTotient.js) - * [EulersTotientFunction](/EulersTotientFunction.js) - * [ExtendedEuclideanGCD](/ExtendedEuclideanGCD.js) - * [Factorial](/Factorial.js) - * [Factors](/Factors.js) - * [FareyApproximation](/FareyApproximation.js) - * [FermatPrimalityTest](/FermatPrimalityTest.js) - * [Fibonacci](/Fibonacci.js) - * [FigurateNumber](/FigurateNumber.js) - * [FindHcf](/FindHcf.js) - * [FindLcm](/FindLcm.js) - * [FindMin](/FindMin.js) - * [FindMinIterator](/FindMinIterator.js) - * [GetEuclidGCD](/GetEuclidGCD.js) - * [GridGet](/GridGet.js) - * [IsDivisible](/IsDivisible.js) - * [IsEven](/IsEven.js) - * [IsOdd](/IsOdd.js) - * [LeapYear](/LeapYear.js) - * [LinearSieve](/LinearSieve.js) - * [LucasSeries](/LucasSeries.js) - * [Mandelbrot](/Mandelbrot.js) - * [MatrixExponentiationRecursive](/MatrixExponentiationRecursive.js) - * [MatrixMultiplication](/MatrixMultiplication.js) - * [MeanSquareError](/MeanSquareError.js) - * [MidpointIntegration](/MidpointIntegration.js) - * [ModularBinaryExponentiationRecursive](/ModularBinaryExponentiationRecursive.js) - * [NumberOfDigits](/NumberOfDigits.js) - * [Palindrome](/Palindrome.js) - * [PascalTriangle](/PascalTriangle.js) - * [PerfectCube](/PerfectCube.js) - * [PerfectNumber](/PerfectNumber.js) - * [PerfectSquare](/PerfectSquare.js) - * [PermutationAndCombination](/PermutationAndCombination.js) - * [PiApproximationMonteCarlo](/PiApproximationMonteCarlo.js) - * [Polynomial](/Polynomial.js) - * [Pow](/Pow.js) - * [PowLogarithmic](/PowLogarithmic.js) - * [PrimeCheck](/PrimeCheck.js) - * [PrimeFactors](/PrimeFactors.js) - * [RadianToDegree](/RadianToDegree.js) - * [ReverseNumber](/ReverseNumber.js) - * [ReversePolishNotation](/ReversePolishNotation.js) - * [SieveOfEratosthenes](/SieveOfEratosthenes.js) - * [SimpsonIntegration](/SimpsonIntegration.js) - * [Softmax](/Softmax.js) - * [SquareRoot](/SquareRoot.js) - * [SumOfDigits](/SumOfDigits.js) - * [SumOfGeometricProgression](/SumOfGeometricProgression.js) - * [Volume](/Volume.js) - * [WhileLoopFactorial](/WhileLoopFactorial.js) - * [ZellersCongruenceAlgorithm](/ZellersCongruenceAlgorithm.js) - * [Haversine](/Haversine.js) - * [Problem001](/Problem001.js) - * [Problem002](/Problem002.js) - * [Problem003](/Problem003.js) - * [Problem004](/Problem004.js) - * [Problem005](/Problem005.js) - * [Problem006](/Problem006.js) - * [Problem008](/Problem008.js) - * [Problem009](/Problem009.js) - * [Problem010](/Problem010.js) - * [Problem012](/Problem012.js) - * [Problem014](/Problem014.js) - * [Problem015](/Problem015.js) - * [Problem016](/Problem016.js) - * [Problem018](/Problem018.js) - * [Problem020](/Problem020.js) - * [Problem023](/Problem023.js) - * [Problem025](/Problem025.js) - * [BinaryEquivalent](/BinaryEquivalent.js) - * [BinarySearch](/BinarySearch.js) - * [EucledianGCD](/EucledianGCD.js) - * [Factorial](/Factorial.js) - * [FibonacciNumberRecursive](/FibonacciNumberRecursive.js) - * [FloodFill](/FloodFill.js) - * [KochSnowflake](/KochSnowflake.js) - * [Palindrome](/Palindrome.js) - * [SubsequenceRecursive](/SubsequenceRecursive.js) - * [TowerOfHanoi](/TowerOfHanoi.js) - * [BinarySearch](/BinarySearch.js) - * [ExponentialSearch](/ExponentialSearch.js) - * [FibonacciSearch](/FibonacciSearch.js) - * [InterpolationSearch](/InterpolationSearch.js) - * [JumpSearch](/JumpSearch.js) - * [LinearSearch](/LinearSearch.js) - * [QuickSelectSearch](/QuickSelectSearch.js) - * [SlidingWindow](/SlidingWindow.js) - * [StringSearch](/StringSearch.js) - * [TernarySearch](/TernarySearch.js) - * [UnionFind](/UnionFind.js) - * [AlphaNumericalSort](/AlphaNumericalSort.js) - * [BeadSort](/BeadSort.js) - * [BogoSort](/BogoSort.js) - * [BubbleSort](/BubbleSort.js) - * [BucketSort](/BucketSort.js) - * [CocktailShakerSort](/CocktailShakerSort.js) - * [CombSort](/CombSort.js) - * [CountingSort](/CountingSort.js) - * [CycleSort](/CycleSort.js) - * [FindSecondLargestElement](/FindSecondLargestElement.js) - * [FisherYatesShuffle](/FisherYatesShuffle.js) - * [FlashSort](/FlashSort.js) - * [GnomeSort](/GnomeSort.js) - * [HeapSort](/HeapSort.js) - * [HeapSortV2](/HeapSortV2.js) - * [InsertionSort](/InsertionSort.js) - * [IntroSort](/IntroSort.js) - * [MergeSort](/MergeSort.js) - * [OddEvenSort](/OddEvenSort.js) - * [PancakeSort](/PancakeSort.js) - * [PigeonHoleSort](/PigeonHoleSort.js) - * [QuickSort](/QuickSort.js) - * [QuickSortRecursive](/QuickSortRecursive.js) - * [RadixSort](/RadixSort.js) - * [SelectionSort](/SelectionSort.js) - * [ShellSort](/ShellSort.js) - * [SimplifiedWiggleSort](/SimplifiedWiggleSort.js) - * [StoogeSort](/StoogeSort.js) - * [TimSort](/TimSort.js) - * [TopologicalSort](/TopologicalSort.js) - * [AlphaNumericPalindrome](/AlphaNumericPalindrome.js) - * [AlternativeStringArrange](/AlternativeStringArrange.js) - * [BoyerMoore](/BoyerMoore.js) - * [CheckAnagram](/CheckAnagram.js) - * [CheckCamelCase](/CheckCamelCase.js) - * [CheckExceeding](/CheckExceeding.js) - * [CheckFlatCase](/CheckFlatCase.js) - * [CheckKebabCase](/CheckKebabCase.js) - * [CheckPalindrome](/CheckPalindrome.js) - * [CheckPangram](/CheckPangram.js) - * [CheckPascalCase](/CheckPascalCase.js) - * [CheckRearrangePalindrome](/CheckRearrangePalindrome.js) - * [CheckSnakeCase](/CheckSnakeCase.js) - * [CheckWordOccurrence](/CheckWordOccurrence.js) - * [CountVowels](/CountVowels.js) - * [CreatePermutations](/CreatePermutations.js) - * [DiceCoefficient](/DiceCoefficient.js) - * [FormatPhoneNumber](/FormatPhoneNumber.js) - * [GenerateGUID](/GenerateGUID.js) - * [HammingDistance](/HammingDistance.js) - * [KMPPatternSearching](/KMPPatternSearching.js) - * [LevenshteinDistance](/LevenshteinDistance.js) - * [Lower](/Lower.js) - * [MaxCharacter](/MaxCharacter.js) - * [MaxWord](/MaxWord.js) - * [PatternMatching](/PatternMatching.js) - * [PermutateString](/PermutateString.js) - * [ReverseString](/ReverseString.js) - * [ReverseWords](/ReverseWords.js) - * [ScrambleStrings](/ScrambleStrings.js) - * [Upper](/Upper.js) - * [ValidateCreditCard](/ValidateCreditCard.js) - * [ValidateEmail](/ValidateEmail.js) - * [ValidateUrl](/ValidateUrl.js) - * [GetMonthDays](/GetMonthDays.js) - * [IntervalTimer](/IntervalTimer.js) - * [BreadthFirstTreeTraversal](/BreadthFirstTreeTraversal.js) - * [DepthFirstSearch](/DepthFirstSearch.js) - * [FenwickTree](/FenwickTree.js) +* **Backtracking** + * [AllCombinationsOfSizeK](Backtracking/AllCombinationsOfSizeK.js) + * [GeneratePermutations](Backtracking/GeneratePermutations.js) + * [KnightTour](Backtracking/KnightTour.js) + * [NQueen](Backtracking/NQueen.js) + * [RatInAMaze](Backtracking/RatInAMaze.js) + * [Sudoku](Backtracking/Sudoku.js) + * [SumOfSubset](Backtracking/SumOfSubset.js) +* **Bit-Manipulation** + * [BinaryCountSetBits](Bit-Manipulation/BinaryCountSetBits.js) + * [IsPowerOfTwo](Bit-Manipulation/IsPowerOfTwo.js) + * [NextPowerOfTwo](Bit-Manipulation/NextPowerOfTwo.js) + * [SetBit](Bit-Manipulation/SetBit.js) +* **Cache** + * [LFUCache](Cache/LFUCache.js) + * [LRUCache](Cache/LRUCache.js) + * [Memoize](Cache/Memoize.js) +* **Cellular-Automata** + * [ConwaysGameOfLife](Cellular-Automata/ConwaysGameOfLife.js) +* **Ciphers** + * [Atbash](Ciphers/Atbash.js) + * [CaesarsCipher](Ciphers/CaesarsCipher.js) + * [KeyFinder](Ciphers/KeyFinder.js) + * [KeywordShiftedAlphabet](Ciphers/KeywordShiftedAlphabet.js) + * [ROT13](Ciphers/ROT13.js) + * [VigenereCipher](Ciphers/VigenereCipher.js) + * [XORCipher](Ciphers/XORCipher.js) +* **Conversions** + * [ArbitraryBase](Conversions/ArbitraryBase.js) + * [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js) + * [Base64ToArrayBuffer](Conversions/Base64ToArrayBuffer.js) + * [BinaryToDecimal](Conversions/BinaryToDecimal.js) + * [BinaryToHex](Conversions/BinaryToHex.js) + * [DateDayDifference](Conversions/DateDayDifference.js) + * [DateToDay](Conversions/DateToDay.js) + * [DecimalToBinary](Conversions/DecimalToBinary.js) + * [DecimalToHex](Conversions/DecimalToHex.js) + * [DecimalToOctal](Conversions/DecimalToOctal.js) + * [DecimalToRoman](Conversions/DecimalToRoman.js) + * [HexToBinary](Conversions/HexToBinary.js) + * [HexToDecimal](Conversions/HexToDecimal.js) + * [HexToRGB](Conversions/HexToRGB.js) + * [LowerCaseConversion](Conversions/LowerCaseConversion.js) + * [MeterToFeetConversion](Conversions/MeterToFeetConversion.js) + * [OctToDecimal](Conversions/OctToDecimal.js) + * [RailwayTimeConversion](Conversions/RailwayTimeConversion.js) + * [RgbHsvConversion](Conversions/RgbHsvConversion.js) + * [RGBToHex](Conversions/RGBToHex.js) + * [RomanToDecimal](Conversions/RomanToDecimal.js) + * [TemperatureConversion](Conversions/TemperatureConversion.js) + * [TitleCaseConversion](Conversions/TitleCaseConversion.js) + * [UpperCaseConversion](Conversions/UpperCaseConversion.js) +* **Data-Structures** + * **Array** + * [LocalMaximomPoint](Data-Structures/Array/LocalMaximomPoint.js) + * [NumberOfLocalMaximumPoints](Data-Structures/Array/NumberOfLocalMaximumPoints.js) + * [QuickSelect](Data-Structures/Array/QuickSelect.js) + * **Graph** + * [Graph](Data-Structures/Graph/Graph.js) + * [Graph2](Data-Structures/Graph/Graph2.js) + * [Graph3](Data-Structures/Graph/Graph3.js) + * **Heap** + * [MaxHeap](Data-Structures/Heap/MaxHeap.js) + * [MinHeap](Data-Structures/Heap/MinHeap.js) + * [MinPriorityQueue](Data-Structures/Heap/MinPriorityQueue.js) + * **Linked-List** + * [AddTwoNumbers](Data-Structures/Linked-List/AddTwoNumbers.js) + * [CycleDetection](Data-Structures/Linked-List/CycleDetection.js) + * [DoublyLinkedList](Data-Structures/Linked-List/DoublyLinkedList.js) + * [RotateListRight](Data-Structures/Linked-List/RotateListRight.js) + * [SinglyCircularLinkedList](Data-Structures/Linked-List/SinglyCircularLinkedList.js) + * [SinglyLinkedList](Data-Structures/Linked-List/SinglyLinkedList.js) + * **Queue** + * [CircularQueue](Data-Structures/Queue/CircularQueue.js) + * [Queue](Data-Structures/Queue/Queue.js) + * [QueueUsing2Stacks](Data-Structures/Queue/QueueUsing2Stacks.js) + * **Stack** + * [Stack](Data-Structures/Stack/Stack.js) + * [StackES6](Data-Structures/Stack/StackES6.js) + * **Tree** + * [AVLTree](Data-Structures/Tree/AVLTree.js) + * [BinarySearchTree](Data-Structures/Tree/BinarySearchTree.js) + * [Trie](Data-Structures/Tree/Trie.js) + * **Vectors** + * [Vector2](Data-Structures/Vectors/Vector2.js) +* **Dynamic-Programming** + * [ClimbingStairs](Dynamic-Programming/ClimbingStairs.js) + * [CoinChange](Dynamic-Programming/CoinChange.js) + * [EditDistance](Dynamic-Programming/EditDistance.js) + * [FibonacciNumber](Dynamic-Programming/FibonacciNumber.js) + * [FindMonthCalendar](Dynamic-Programming/FindMonthCalendar.js) + * [KadaneAlgo](Dynamic-Programming/KadaneAlgo.js) + * [LevenshteinDistance](Dynamic-Programming/LevenshteinDistance.js) + * [LongestCommonSubsequence](Dynamic-Programming/LongestCommonSubsequence.js) + * [LongestIncreasingSubsequence](Dynamic-Programming/LongestIncreasingSubsequence.js) + * [LongestPalindromicSubsequence](Dynamic-Programming/LongestPalindromicSubsequence.js) + * [LongestValidParentheses](Dynamic-Programming/LongestValidParentheses.js) + * [MaxNonAdjacentSum](Dynamic-Programming/MaxNonAdjacentSum.js) + * [MaxProductOfThree](Dynamic-Programming/MaxProductOfThree.js) + * [MinimumCostPath](Dynamic-Programming/MinimumCostPath.js) + * [NumberOfSubsetEqualToGivenSum](Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js) + * [RodCutting](Dynamic-Programming/RodCutting.js) + * [Shuf](Dynamic-Programming/Shuf.js) + * [SieveOfEratosthenes](Dynamic-Programming/SieveOfEratosthenes.js) + * **Sliding-Window** + * [LongestSubstringWithoutRepeatingCharacters](Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js) + * [PermutationinString](Dynamic-Programming/Sliding-Window/PermutationinString.js) + * [SudokuSolver](Dynamic-Programming/SudokuSolver.js) + * [TrappingRainWater](Dynamic-Programming/TrappingRainWater.js) + * [TribonacciNumber](Dynamic-Programming/TribonacciNumber.js) + * [ZeroOneKnapsack](Dynamic-Programming/ZeroOneKnapsack.js) +* **Geometry** + * [ConvexHullGraham](Geometry/ConvexHullGraham.js) +* **Graphs** + * [BellmanFord](Graphs/BellmanFord.js) + * [BreadthFirstSearch](Graphs/BreadthFirstSearch.js) + * [BreadthFirstShortestPath](Graphs/BreadthFirstShortestPath.js) + * [ConnectedComponents](Graphs/ConnectedComponents.js) + * [Density](Graphs/Density.js) + * [DepthFirstSearchIterative](Graphs/DepthFirstSearchIterative.js) + * [DepthFirstSearchRecursive](Graphs/DepthFirstSearchRecursive.js) + * [Dijkstra](Graphs/Dijkstra.js) + * [DijkstraSmallestPath](Graphs/DijkstraSmallestPath.js) + * [FloydWarshall](Graphs/FloydWarshall.js) + * [KruskalMST](Graphs/KruskalMST.js) + * [NodeNeighbors](Graphs/NodeNeighbors.js) + * [NumberOfIslands](Graphs/NumberOfIslands.js) + * [PrimMST](Graphs/PrimMST.js) +* **Hashes** + * [SHA1](Hashes/SHA1.js) + * [SHA256](Hashes/SHA256.js) +* **Maths** + * [Abs](Maths/Abs.js) + * [AliquotSum](Maths/AliquotSum.js) + * [Area](Maths/Area.js) + * [ArithmeticGeometricMean](Maths/ArithmeticGeometricMean.js) + * [ArmstrongNumber](Maths/ArmstrongNumber.js) + * [AverageMean](Maths/AverageMean.js) + * [AverageMedian](Maths/AverageMedian.js) + * [BinaryConvert](Maths/BinaryConvert.js) + * [BinaryExponentiationIterative](Maths/BinaryExponentiationIterative.js) + * [BinaryExponentiationRecursive](Maths/BinaryExponentiationRecursive.js) + * [BisectionMethod](Maths/BisectionMethod.js) + * [CheckKishnamurthyNumber](Maths/CheckKishnamurthyNumber.js) + * [Coordinate](Maths/Coordinate.js) + * [CoPrimeCheck](Maths/CoPrimeCheck.js) + * [DecimalExpansion](Maths/DecimalExpansion.js) + * [DecimalIsolate](Maths/DecimalIsolate.js) + * [DegreeToRadian](Maths/DegreeToRadian.js) + * [EulerMethod](Maths/EulerMethod.js) + * [EulersTotient](Maths/EulersTotient.js) + * [EulersTotientFunction](Maths/EulersTotientFunction.js) + * [ExtendedEuclideanGCD](Maths/ExtendedEuclideanGCD.js) + * [Factorial](Maths/Factorial.js) + * [Factors](Maths/Factors.js) + * [FareyApproximation](Maths/FareyApproximation.js) + * [FermatPrimalityTest](Maths/FermatPrimalityTest.js) + * [Fibonacci](Maths/Fibonacci.js) + * [FigurateNumber](Maths/FigurateNumber.js) + * [FindHcf](Maths/FindHcf.js) + * [FindLcm](Maths/FindLcm.js) + * [FindMin](Maths/FindMin.js) + * [FindMinIterator](Maths/FindMinIterator.js) + * [GetEuclidGCD](Maths/GetEuclidGCD.js) + * [GridGet](Maths/GridGet.js) + * [IsDivisible](Maths/IsDivisible.js) + * [IsEven](Maths/IsEven.js) + * [IsOdd](Maths/IsOdd.js) + * [LeapYear](Maths/LeapYear.js) + * [LinearSieve](Maths/LinearSieve.js) + * [LucasSeries](Maths/LucasSeries.js) + * [Mandelbrot](Maths/Mandelbrot.js) + * [MatrixExponentiationRecursive](Maths/MatrixExponentiationRecursive.js) + * [MatrixMultiplication](Maths/MatrixMultiplication.js) + * [MeanSquareError](Maths/MeanSquareError.js) + * [MidpointIntegration](Maths/MidpointIntegration.js) + * [ModularBinaryExponentiationRecursive](Maths/ModularBinaryExponentiationRecursive.js) + * [NumberOfDigits](Maths/NumberOfDigits.js) + * [Palindrome](Maths/Palindrome.js) + * [PascalTriangle](Maths/PascalTriangle.js) + * [PerfectCube](Maths/PerfectCube.js) + * [PerfectNumber](Maths/PerfectNumber.js) + * [PerfectSquare](Maths/PerfectSquare.js) + * [PermutationAndCombination](Maths/PermutationAndCombination.js) + * [PiApproximationMonteCarlo](Maths/PiApproximationMonteCarlo.js) + * [Polynomial](Maths/Polynomial.js) + * [Pow](Maths/Pow.js) + * [PowLogarithmic](Maths/PowLogarithmic.js) + * [PrimeCheck](Maths/PrimeCheck.js) + * [PrimeFactors](Maths/PrimeFactors.js) + * [RadianToDegree](Maths/RadianToDegree.js) + * [ReverseNumber](Maths/ReverseNumber.js) + * [ReversePolishNotation](Maths/ReversePolishNotation.js) + * [SieveOfEratosthenes](Maths/SieveOfEratosthenes.js) + * [SimpsonIntegration](Maths/SimpsonIntegration.js) + * [Softmax](Maths/Softmax.js) + * [SquareRoot](Maths/SquareRoot.js) + * [SumOfDigits](Maths/SumOfDigits.js) + * [SumOfGeometricProgression](Maths/SumOfGeometricProgression.js) + * [Volume](Maths/Volume.js) + * [WhileLoopFactorial](Maths/WhileLoopFactorial.js) + * [ZellersCongruenceAlgorithm](Maths/ZellersCongruenceAlgorithm.js) +* **Navigation** + * [Haversine](Navigation/Haversine.js) +* **Project-Euler** + * [Problem001](Project-Euler/Problem001.js) + * [Problem002](Project-Euler/Problem002.js) + * [Problem003](Project-Euler/Problem003.js) + * [Problem004](Project-Euler/Problem004.js) + * [Problem005](Project-Euler/Problem005.js) + * [Problem006](Project-Euler/Problem006.js) + * [Problem008](Project-Euler/Problem008.js) + * [Problem009](Project-Euler/Problem009.js) + * [Problem010](Project-Euler/Problem010.js) + * [Problem012](Project-Euler/Problem012.js) + * [Problem014](Project-Euler/Problem014.js) + * [Problem015](Project-Euler/Problem015.js) + * [Problem016](Project-Euler/Problem016.js) + * [Problem018](Project-Euler/Problem018.js) + * [Problem020](Project-Euler/Problem020.js) + * [Problem023](Project-Euler/Problem023.js) + * [Problem025](Project-Euler/Problem025.js) +* **Recursive** + * [BinaryEquivalent](Recursive/BinaryEquivalent.js) + * [BinarySearch](Recursive/BinarySearch.js) + * [EucledianGCD](Recursive/EucledianGCD.js) + * [Factorial](Recursive/Factorial.js) + * [FibonacciNumberRecursive](Recursive/FibonacciNumberRecursive.js) + * [FloodFill](Recursive/FloodFill.js) + * [KochSnowflake](Recursive/KochSnowflake.js) + * [Palindrome](Recursive/Palindrome.js) + * [SubsequenceRecursive](Recursive/SubsequenceRecursive.js) + * [TowerOfHanoi](Recursive/TowerOfHanoi.js) +* **Search** + * [BinarySearch](Search/BinarySearch.js) + * [ExponentialSearch](Search/ExponentialSearch.js) + * [FibonacciSearch](Search/FibonacciSearch.js) + * [InterpolationSearch](Search/InterpolationSearch.js) + * [JumpSearch](Search/JumpSearch.js) + * [LinearSearch](Search/LinearSearch.js) + * [QuickSelectSearch](Search/QuickSelectSearch.js) + * [SlidingWindow](Search/SlidingWindow.js) + * [StringSearch](Search/StringSearch.js) + * [TernarySearch](Search/TernarySearch.js) + * [UnionFind](Search/UnionFind.js) +* **Sorts** + * [AlphaNumericalSort](Sorts/AlphaNumericalSort.js) + * [BeadSort](Sorts/BeadSort.js) + * [BogoSort](Sorts/BogoSort.js) + * [BubbleSort](Sorts/BubbleSort.js) + * [BucketSort](Sorts/BucketSort.js) + * [CocktailShakerSort](Sorts/CocktailShakerSort.js) + * [CombSort](Sorts/CombSort.js) + * [CountingSort](Sorts/CountingSort.js) + * [CycleSort](Sorts/CycleSort.js) + * [FindSecondLargestElement](Sorts/FindSecondLargestElement.js) + * [FisherYatesShuffle](Sorts/FisherYatesShuffle.js) + * [FlashSort](Sorts/FlashSort.js) + * [GnomeSort](Sorts/GnomeSort.js) + * [HeapSort](Sorts/HeapSort.js) + * [HeapSortV2](Sorts/HeapSortV2.js) + * [InsertionSort](Sorts/InsertionSort.js) + * [IntroSort](Sorts/IntroSort.js) + * [MergeSort](Sorts/MergeSort.js) + * [OddEvenSort](Sorts/OddEvenSort.js) + * [PancakeSort](Sorts/PancakeSort.js) + * [PigeonHoleSort](Sorts/PigeonHoleSort.js) + * [QuickSort](Sorts/QuickSort.js) + * [QuickSortRecursive](Sorts/QuickSortRecursive.js) + * [RadixSort](Sorts/RadixSort.js) + * [SelectionSort](Sorts/SelectionSort.js) + * [ShellSort](Sorts/ShellSort.js) + * [SimplifiedWiggleSort](Sorts/SimplifiedWiggleSort.js) + * [StoogeSort](Sorts/StoogeSort.js) + * [TimSort](Sorts/TimSort.js) + * [TopologicalSort](Sorts/TopologicalSort.js) +* **String** + * [AlphaNumericPalindrome](String/AlphaNumericPalindrome.js) + * [AlternativeStringArrange](String/AlternativeStringArrange.js) + * [BoyerMoore](String/BoyerMoore.js) + * [CheckAnagram](String/CheckAnagram.js) + * [CheckCamelCase](String/CheckCamelCase.js) + * [CheckExceeding](String/CheckExceeding.js) + * [CheckFlatCase](String/CheckFlatCase.js) + * [CheckKebabCase](String/CheckKebabCase.js) + * [CheckPalindrome](String/CheckPalindrome.js) + * [CheckPangram](String/CheckPangram.js) + * [CheckPascalCase](String/CheckPascalCase.js) + * [CheckRearrangePalindrome](String/CheckRearrangePalindrome.js) + * [CheckSnakeCase](String/CheckSnakeCase.js) + * [CheckWordOccurrence](String/CheckWordOccurrence.js) + * [CountVowels](String/CountVowels.js) + * [CreatePermutations](String/CreatePermutations.js) + * [DiceCoefficient](String/DiceCoefficient.js) + * [FormatPhoneNumber](String/FormatPhoneNumber.js) + * [GenerateGUID](String/GenerateGUID.js) + * [HammingDistance](String/HammingDistance.js) + * [KMPPatternSearching](String/KMPPatternSearching.js) + * [LevenshteinDistance](String/LevenshteinDistance.js) + * [Lower](String/Lower.js) + * [MaxCharacter](String/MaxCharacter.js) + * [MaxWord](String/MaxWord.js) + * [PatternMatching](String/PatternMatching.js) + * [PermutateString](String/PermutateString.js) + * [ReverseString](String/ReverseString.js) + * [ReverseWords](String/ReverseWords.js) + * [ScrambleStrings](String/ScrambleStrings.js) + * [Upper](String/Upper.js) + * [ValidateCreditCard](String/ValidateCreditCard.js) + * [ValidateEmail](String/ValidateEmail.js) + * [ValidateUrl](String/ValidateUrl.js) +* **Timing-Functions** + * [GetMonthDays](Timing-Functions/GetMonthDays.js) + * [IntervalTimer](Timing-Functions/IntervalTimer.js) +* **Trees** + * [BreadthFirstTreeTraversal](Trees/BreadthFirstTreeTraversal.js) + * [DepthFirstSearch](Trees/DepthFirstSearch.js) + * [FenwickTree](Trees/FenwickTree.js)