merge: Update directory workflow (#1000)

* chore: update directory workflow

Workflow now only runs on `pull_request` to prevent pushing on the master branch.

* chore: update commit mechanism

* chore: remove rundundant script

* Update UpdateDirectory.yml

* Updated Documentation in README.md

* Update UpdateDirectory.yml

* fix: replace wrong variable

* Updated Documentation in README.md

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
This commit is contained in:
Rak Laptudirm
2022-04-28 18:58:12 +05:30
committed by GitHub
parent 01db0fb369
commit e447b5545d
4 changed files with 331 additions and 354 deletions

View File

@ -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

View File

@ -35,7 +35,7 @@ function pathsToMarkdown (filePaths) {
for (let filepath of filePaths) { for (let filepath of filePaths) {
let filename = path.basename(filepath) let filename = path.basename(filepath)
filepath = path.dirname(path.sep) filepath = path.dirname(filepath)
if (filepath !== oldPath) { if (filepath !== oldPath) {
oldPath = printPath(oldPath, filepath, output) oldPath = printPath(oldPath, filepath, output)

View File

@ -3,8 +3,8 @@ name: Update Directory
on: on:
push: push:
branches: branches-ignore:
- master "master"
jobs: jobs:
updateDirectory: updateDirectory:
@ -22,9 +22,16 @@ jobs:
- name: 🗄️ Create Directory from JS files - name: 🗄️ Create Directory from JS files
run: node .github/workflows/UpdateDirectory.mjs run: node .github/workflows/UpdateDirectory.mjs
- name: 🤓 Commit & push new Directory (if needed) - name: Configure Github Action
run: | run: |
git config --global user.name github-actions git config --global user.name github-actions
git config --global user.email '${GITHUB_ACTOR}@users.noreply.github.com' 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

View File

@ -1,338 +1,318 @@
* **Backtracking**
## Backtracking * [AllCombinationsOfSizeK](Backtracking/AllCombinationsOfSizeK.js)
* [AllCombinationsOfSizeK](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/AllCombinationsOfSizeK.js) * [GeneratePermutations](Backtracking/GeneratePermutations.js)
* [GeneratePermutations](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/GeneratePermutations.js) * [KnightTour](Backtracking/KnightTour.js)
* [KnightTour](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/KnightTour.js) * [NQueen](Backtracking/NQueen.js)
* [NQueen](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/NQueen.js) * [RatInAMaze](Backtracking/RatInAMaze.js)
* [RatInAMaze](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/RatInAMaze.js) * [Sudoku](Backtracking/Sudoku.js)
* [Sudoku](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/Sudoku.js) * [SumOfSubset](Backtracking/SumOfSubset.js)
* [SumOfSubset](https://github.com/TheAlgorithms/Javascript/blob/master/Backtracking/SumOfSubset.js) * **Bit-Manipulation**
* [BinaryCountSetBits](Bit-Manipulation/BinaryCountSetBits.js)
## Bit-Manipulation * [IsPowerOfTwo](Bit-Manipulation/IsPowerOfTwo.js)
* [BinaryCountSetBits](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/BinaryCountSetBits.js) * [NextPowerOfTwo](Bit-Manipulation/NextPowerOfTwo.js)
* [IsPowerOfTwo](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/IsPowerOfTwo.js) * [SetBit](Bit-Manipulation/SetBit.js)
* [NextPowerOfTwo](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/NextPowerOfTwo.js) * **Cache**
* [SetBit](https://github.com/TheAlgorithms/Javascript/blob/master/Bit-Manipulation/SetBit.js) * [LFUCache](Cache/LFUCache.js)
* [LRUCache](Cache/LRUCache.js)
## Cache * [Memoize](Cache/Memoize.js)
* [LFUCache](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/LFUCache.js) * **Cellular-Automata**
* [LRUCache](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/LRUCache.js) * [ConwaysGameOfLife](Cellular-Automata/ConwaysGameOfLife.js)
* [Memoize](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/Memoize.js) * **Ciphers**
* test * [Atbash](Ciphers/Atbash.js)
* [cacheTest](https://github.com/TheAlgorithms/Javascript/blob/master/Cache/test/cacheTest.js) * [CaesarsCipher](Ciphers/CaesarsCipher.js)
* [KeyFinder](Ciphers/KeyFinder.js)
## Cellular-Automata * [KeywordShiftedAlphabet](Ciphers/KeywordShiftedAlphabet.js)
* [ConwaysGameOfLife](https://github.com/TheAlgorithms/Javascript/blob/master/Cellular-Automata/ConwaysGameOfLife.js) * [ROT13](Ciphers/ROT13.js)
* [VigenereCipher](Ciphers/VigenereCipher.js)
## Ciphers * [XORCipher](Ciphers/XORCipher.js)
* [Atbash](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/Atbash.js) * **Conversions**
* [CaesarsCipher](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/CaesarsCipher.js) * [ArbitraryBase](Conversions/ArbitraryBase.js)
* [KeyFinder](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/KeyFinder.js) * [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
* [KeywordShiftedAlphabet](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/KeywordShiftedAlphabet.js) * [Base64ToArrayBuffer](Conversions/Base64ToArrayBuffer.js)
* [ROT13](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/ROT13.js) * [BinaryToDecimal](Conversions/BinaryToDecimal.js)
* [VigenereCipher](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/VigenereCipher.js) * [BinaryToHex](Conversions/BinaryToHex.js)
* [XORCipher](https://github.com/TheAlgorithms/Javascript/blob/master/Ciphers/XORCipher.js) * [DateDayDifference](Conversions/DateDayDifference.js)
* [DateToDay](Conversions/DateToDay.js)
## Conversions * [DecimalToBinary](Conversions/DecimalToBinary.js)
* [ArbitraryBase](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/ArbitraryBase.js) * [DecimalToHex](Conversions/DecimalToHex.js)
* [ArrayBufferToBase64](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/ArrayBufferToBase64.js) * [DecimalToOctal](Conversions/DecimalToOctal.js)
* [Base64ToArrayBuffer](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/Base64ToArrayBuffer.js) * [DecimalToRoman](Conversions/DecimalToRoman.js)
* [BinaryToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/BinaryToDecimal.js) * [HexToBinary](Conversions/HexToBinary.js)
* [BinaryToHex](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/BinaryToHex.js) * [HexToDecimal](Conversions/HexToDecimal.js)
* [DateDayDifference](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DateDayDifference.js) * [HexToRGB](Conversions/HexToRGB.js)
* [DateToDay](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DateToDay.js) * [LowerCaseConversion](Conversions/LowerCaseConversion.js)
* [DecimalToBinary](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToBinary.js) * [MeterToFeetConversion](Conversions/MeterToFeetConversion.js)
* [DecimalToHex](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToHex.js) * [OctToDecimal](Conversions/OctToDecimal.js)
* [DecimalToOctal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToOctal.js) * [RailwayTimeConversion](Conversions/RailwayTimeConversion.js)
* [DecimalToRoman](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/DecimalToRoman.js) * [RgbHsvConversion](Conversions/RgbHsvConversion.js)
* [HexToBinary](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/HexToBinary.js) * [RGBToHex](Conversions/RGBToHex.js)
* [HexToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/HexToDecimal.js) * [RomanToDecimal](Conversions/RomanToDecimal.js)
* [HexToRGB](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/HexToRGB.js) * [TemperatureConversion](Conversions/TemperatureConversion.js)
* [LowerCaseConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/LowerCaseConversion.js) * [TitleCaseConversion](Conversions/TitleCaseConversion.js)
* [MeterToFeetConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/MeterToFeetConversion.js) * [UpperCaseConversion](Conversions/UpperCaseConversion.js)
* [OctToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/OctToDecimal.js) * **Data-Structures**
* [RailwayTimeConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RailwayTimeConversion.js) * **Array**
* [RgbHsvConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RgbHsvConversion.js) * [LocalMaximomPoint](Data-Structures/Array/LocalMaximomPoint.js)
* [RGBToHex](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RGBToHex.js) * [NumberOfLocalMaximumPoints](Data-Structures/Array/NumberOfLocalMaximumPoints.js)
* [RomanToDecimal](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/RomanToDecimal.js) * [QuickSelect](Data-Structures/Array/QuickSelect.js)
* [TemperatureConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/TemperatureConversion.js) * **Graph**
* [TitleCaseConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/TitleCaseConversion.js) * [Graph](Data-Structures/Graph/Graph.js)
* [UpperCaseConversion](https://github.com/TheAlgorithms/Javascript/blob/master/Conversions/UpperCaseConversion.js) * [Graph2](Data-Structures/Graph/Graph2.js)
* [Graph3](Data-Structures/Graph/Graph3.js)
## Data-Structures * **Heap**
* Array * [MaxHeap](Data-Structures/Heap/MaxHeap.js)
* [LocalMaximomPoint](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Array/LocalMaximomPoint.js) * [MinHeap](Data-Structures/Heap/MinHeap.js)
* [NumberOfLocalMaximumPoints](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Array/NumberOfLocalMaximumPoints.js) * [MinPriorityQueue](Data-Structures/Heap/MinPriorityQueue.js)
* [QuickSelect](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Array/QuickSelect.js) * **Linked-List**
* Graph * [AddTwoNumbers](Data-Structures/Linked-List/AddTwoNumbers.js)
* [Graph](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Graph/Graph.js) * [CycleDetection](Data-Structures/Linked-List/CycleDetection.js)
* [Graph2](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Graph/Graph2.js) * [DoublyLinkedList](Data-Structures/Linked-List/DoublyLinkedList.js)
* [Graph3](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Graph/Graph3.js) * [RotateListRight](Data-Structures/Linked-List/RotateListRight.js)
* Heap * [SinglyCircularLinkedList](Data-Structures/Linked-List/SinglyCircularLinkedList.js)
* [MaxHeap](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Heap/MaxHeap.js) * [SinglyLinkedList](Data-Structures/Linked-List/SinglyLinkedList.js)
* [MinHeap](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Heap/MinHeap.js) * **Queue**
* [MinPriorityQueue](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Heap/MinPriorityQueue.js) * [CircularQueue](Data-Structures/Queue/CircularQueue.js)
* Linked-List * [Queue](Data-Structures/Queue/Queue.js)
* [AddTwoNumbers](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/AddTwoNumbers.js) * [QueueUsing2Stacks](Data-Structures/Queue/QueueUsing2Stacks.js)
* [CycleDetection](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/CycleDetection.js) * **Stack**
* [DoublyLinkedList](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/DoublyLinkedList.js) * [Stack](Data-Structures/Stack/Stack.js)
* [RotateListRight](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/RotateListRight.js) * [StackES6](Data-Structures/Stack/StackES6.js)
* [SinglyCircularLinkedList](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/SinglyCircularLinkedList.js) * **Tree**
* [SinglyLinkedList](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Linked-List/SinglyLinkedList.js) * [AVLTree](Data-Structures/Tree/AVLTree.js)
* Queue * [BinarySearchTree](Data-Structures/Tree/BinarySearchTree.js)
* [CircularQueue](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Queue/CircularQueue.js) * [Trie](Data-Structures/Tree/Trie.js)
* [Queue](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Queue/Queue.js) * **Vectors**
* [QueueUsing2Stacks](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Queue/QueueUsing2Stacks.js) * [Vector2](Data-Structures/Vectors/Vector2.js)
* Stack * **Dynamic-Programming**
* [Stack](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Stack/Stack.js) * [ClimbingStairs](Dynamic-Programming/ClimbingStairs.js)
* [StackES6](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Stack/StackES6.js) * [CoinChange](Dynamic-Programming/CoinChange.js)
* Tree * [EditDistance](Dynamic-Programming/EditDistance.js)
* [AVLTree](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Tree/AVLTree.js) * [FibonacciNumber](Dynamic-Programming/FibonacciNumber.js)
* [BinarySearchTree](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Tree/BinarySearchTree.js) * [FindMonthCalendar](Dynamic-Programming/FindMonthCalendar.js)
* [Trie](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Tree/Trie.js) * [KadaneAlgo](Dynamic-Programming/KadaneAlgo.js)
* Vectors * [LevenshteinDistance](Dynamic-Programming/LevenshteinDistance.js)
* [Vector2](https://github.com/TheAlgorithms/Javascript/blob/master/Data-Structures/Vectors/Vector2.js) * [LongestCommonSubsequence](Dynamic-Programming/LongestCommonSubsequence.js)
* [LongestIncreasingSubsequence](Dynamic-Programming/LongestIncreasingSubsequence.js)
## Dynamic-Programming * [LongestPalindromicSubsequence](Dynamic-Programming/LongestPalindromicSubsequence.js)
* [ClimbingStairs](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/ClimbingStairs.js) * [LongestValidParentheses](Dynamic-Programming/LongestValidParentheses.js)
* [CoinChange](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/CoinChange.js) * [MaxNonAdjacentSum](Dynamic-Programming/MaxNonAdjacentSum.js)
* [EditDistance](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/EditDistance.js) * [MaxProductOfThree](Dynamic-Programming/MaxProductOfThree.js)
* [FibonacciNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/FibonacciNumber.js) * [MinimumCostPath](Dynamic-Programming/MinimumCostPath.js)
* [FindMonthCalendar](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/FindMonthCalendar.js) * [NumberOfSubsetEqualToGivenSum](Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js)
* [KadaneAlgo](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/KadaneAlgo.js) * [RodCutting](Dynamic-Programming/RodCutting.js)
* [LevenshteinDistance](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LevenshteinDistance.js) * [Shuf](Dynamic-Programming/Shuf.js)
* [LongestCommonSubsequence](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestCommonSubsequence.js) * [SieveOfEratosthenes](Dynamic-Programming/SieveOfEratosthenes.js)
* [LongestIncreasingSubsequence](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestIncreasingSubsequence.js) * **Sliding-Window**
* [LongestPalindromicSubsequence](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestPalindromicSubsequence.js) * [LongestSubstringWithoutRepeatingCharacters](Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js)
* [LongestValidParentheses](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/LongestValidParentheses.js) * [PermutationinString](Dynamic-Programming/Sliding-Window/PermutationinString.js)
* [MaxNonAdjacentSum](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/MaxNonAdjacentSum.js) * [SudokuSolver](Dynamic-Programming/SudokuSolver.js)
* [MaxProductOfThree](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/MaxProductOfThree.js) * [TrappingRainWater](Dynamic-Programming/TrappingRainWater.js)
* [MinimumCostPath](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/MinimumCostPath.js) * [TribonacciNumber](Dynamic-Programming/TribonacciNumber.js)
* [NumberOfSubsetEqualToGivenSum](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js) * [ZeroOneKnapsack](Dynamic-Programming/ZeroOneKnapsack.js)
* [RodCutting](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/RodCutting.js) * **Geometry**
* [Shuf](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/Shuf.js) * [ConvexHullGraham](Geometry/ConvexHullGraham.js)
* [SieveOfEratosthenes](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/SieveOfEratosthenes.js) * **Graphs**
* Sliding-Window * [BellmanFord](Graphs/BellmanFord.js)
* [LongestSubstringWithoutRepeatingCharacters](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js) * [BreadthFirstSearch](Graphs/BreadthFirstSearch.js)
* [PermutationinString](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/Sliding-Window/PermutationinString.js) * [BreadthFirstShortestPath](Graphs/BreadthFirstShortestPath.js)
* [SudokuSolver](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/SudokuSolver.js) * [ConnectedComponents](Graphs/ConnectedComponents.js)
* [TrappingRainWater](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/TrappingRainWater.js) * [Density](Graphs/Density.js)
* [TribonacciNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/TribonacciNumber.js) * [DepthFirstSearchIterative](Graphs/DepthFirstSearchIterative.js)
* [ZeroOneKnapsack](https://github.com/TheAlgorithms/Javascript/blob/master/Dynamic-Programming/ZeroOneKnapsack.js) * [DepthFirstSearchRecursive](Graphs/DepthFirstSearchRecursive.js)
* [Dijkstra](Graphs/Dijkstra.js)
## Geometry * [DijkstraSmallestPath](Graphs/DijkstraSmallestPath.js)
* [ConvexHullGraham](https://github.com/TheAlgorithms/Javascript/blob/master/Geometry/ConvexHullGraham.js) * [FloydWarshall](Graphs/FloydWarshall.js)
* [KruskalMST](Graphs/KruskalMST.js)
## Graphs * [NodeNeighbors](Graphs/NodeNeighbors.js)
* [BellmanFord](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/BellmanFord.js) * [NumberOfIslands](Graphs/NumberOfIslands.js)
* [BreadthFirstSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/BreadthFirstSearch.js) * [PrimMST](Graphs/PrimMST.js)
* [BreadthFirstShortestPath](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/BreadthFirstShortestPath.js) * **Hashes**
* [ConnectedComponents](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/ConnectedComponents.js) * [SHA1](Hashes/SHA1.js)
* [Density](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/Density.js) * [SHA256](Hashes/SHA256.js)
* [DepthFirstSearchIterative](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/DepthFirstSearchIterative.js) * **Maths**
* [DepthFirstSearchRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/DepthFirstSearchRecursive.js) * [Abs](Maths/Abs.js)
* [Dijkstra](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/Dijkstra.js) * [AliquotSum](Maths/AliquotSum.js)
* [DijkstraSmallestPath](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/DijkstraSmallestPath.js) * [Area](Maths/Area.js)
* [FloydWarshall](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/FloydWarshall.js) * [ArithmeticGeometricMean](Maths/ArithmeticGeometricMean.js)
* [KruskalMST](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/KruskalMST.js) * [ArmstrongNumber](Maths/ArmstrongNumber.js)
* [NodeNeighbors](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/NodeNeighbors.js) * [AverageMean](Maths/AverageMean.js)
* [NumberOfIslands](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/NumberOfIslands.js) * [AverageMedian](Maths/AverageMedian.js)
* [PrimMST](https://github.com/TheAlgorithms/Javascript/blob/master/Graphs/PrimMST.js) * [BinaryConvert](Maths/BinaryConvert.js)
* [BinaryExponentiationIterative](Maths/BinaryExponentiationIterative.js)
## Hashes * [BinaryExponentiationRecursive](Maths/BinaryExponentiationRecursive.js)
* [SHA1](https://github.com/TheAlgorithms/Javascript/blob/master/Hashes/SHA1.js) * [BisectionMethod](Maths/BisectionMethod.js)
* [SHA256](https://github.com/TheAlgorithms/Javascript/blob/master/Hashes/SHA256.js) * [CheckKishnamurthyNumber](Maths/CheckKishnamurthyNumber.js)
* [Coordinate](Maths/Coordinate.js)
## Maths * [CoPrimeCheck](Maths/CoPrimeCheck.js)
* [Abs](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Abs.js) * [DecimalExpansion](Maths/DecimalExpansion.js)
* [AliquotSum](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/AliquotSum.js) * [DecimalIsolate](Maths/DecimalIsolate.js)
* [Area](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Area.js) * [DegreeToRadian](Maths/DegreeToRadian.js)
* [ArithmeticGeometricMean](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ArithmeticGeometricMean.js) * [EulerMethod](Maths/EulerMethod.js)
* [ArmstrongNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ArmstrongNumber.js) * [EulersTotient](Maths/EulersTotient.js)
* [AverageMean](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/AverageMean.js) * [EulersTotientFunction](Maths/EulersTotientFunction.js)
* [AverageMedian](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/AverageMedian.js) * [ExtendedEuclideanGCD](Maths/ExtendedEuclideanGCD.js)
* [BinaryConvert](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BinaryConvert.js) * [Factorial](Maths/Factorial.js)
* [BinaryExponentiationIterative](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BinaryExponentiationIterative.js) * [Factors](Maths/Factors.js)
* [BinaryExponentiationRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BinaryExponentiationRecursive.js) * [FareyApproximation](Maths/FareyApproximation.js)
* [BisectionMethod](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/BisectionMethod.js) * [FermatPrimalityTest](Maths/FermatPrimalityTest.js)
* [CheckKishnamurthyNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/CheckKishnamurthyNumber.js) * [Fibonacci](Maths/Fibonacci.js)
* [Coordinate](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Coordinate.js) * [FigurateNumber](Maths/FigurateNumber.js)
* [CoPrimeCheck](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/CoPrimeCheck.js) * [FindHcf](Maths/FindHcf.js)
* [DecimalExpansion](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/DecimalExpansion.js) * [FindLcm](Maths/FindLcm.js)
* [DecimalIsolate](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/DecimalIsolate.js) * [FindMin](Maths/FindMin.js)
* [DegreeToRadian](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/DegreeToRadian.js) * [FindMinIterator](Maths/FindMinIterator.js)
* [EulerMethod](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/EulerMethod.js) * [GetEuclidGCD](Maths/GetEuclidGCD.js)
* [EulersTotient](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/EulersTotient.js) * [GridGet](Maths/GridGet.js)
* [EulersTotientFunction](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/EulersTotientFunction.js) * [IsDivisible](Maths/IsDivisible.js)
* [ExtendedEuclideanGCD](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ExtendedEuclideanGCD.js) * [IsEven](Maths/IsEven.js)
* [Factorial](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Factorial.js) * [IsOdd](Maths/IsOdd.js)
* [Factors](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Factors.js) * [LeapYear](Maths/LeapYear.js)
* [FareyApproximation](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FareyApproximation.js) * [LinearSieve](Maths/LinearSieve.js)
* [FermatPrimalityTest](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FermatPrimalityTest.js) * [LucasSeries](Maths/LucasSeries.js)
* [Fibonacci](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Fibonacci.js) * [Mandelbrot](Maths/Mandelbrot.js)
* [FigurateNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FigurateNumber.js) * [MatrixExponentiationRecursive](Maths/MatrixExponentiationRecursive.js)
* [FindHcf](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindHcf.js) * [MatrixMultiplication](Maths/MatrixMultiplication.js)
* [FindLcm](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindLcm.js) * [MeanSquareError](Maths/MeanSquareError.js)
* [FindMin](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindMin.js) * [MidpointIntegration](Maths/MidpointIntegration.js)
* [FindMinIterator](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/FindMinIterator.js) * [ModularBinaryExponentiationRecursive](Maths/ModularBinaryExponentiationRecursive.js)
* [GetEuclidGCD](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/GetEuclidGCD.js) * [NumberOfDigits](Maths/NumberOfDigits.js)
* [GridGet](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/GridGet.js) * [Palindrome](Maths/Palindrome.js)
* [IsDivisible](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/IsDivisible.js) * [PascalTriangle](Maths/PascalTriangle.js)
* [IsEven](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/IsEven.js) * [PerfectCube](Maths/PerfectCube.js)
* [IsOdd](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/IsOdd.js) * [PerfectNumber](Maths/PerfectNumber.js)
* [LeapYear](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/LeapYear.js) * [PerfectSquare](Maths/PerfectSquare.js)
* [LinearSieve](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/LinearSieve.js) * [PermutationAndCombination](Maths/PermutationAndCombination.js)
* [LucasSeries](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/LucasSeries.js) * [PiApproximationMonteCarlo](Maths/PiApproximationMonteCarlo.js)
* [Mandelbrot](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Mandelbrot.js) * [Polynomial](Maths/Polynomial.js)
* [MatrixExponentiationRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MatrixExponentiationRecursive.js) * [Pow](Maths/Pow.js)
* [MatrixMultiplication](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MatrixMultiplication.js) * [PowLogarithmic](Maths/PowLogarithmic.js)
* [MeanSquareError](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MeanSquareError.js) * [PrimeCheck](Maths/PrimeCheck.js)
* [MidpointIntegration](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/MidpointIntegration.js) * [PrimeFactors](Maths/PrimeFactors.js)
* [ModularBinaryExponentiationRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ModularBinaryExponentiationRecursive.js) * [RadianToDegree](Maths/RadianToDegree.js)
* [NumberOfDigits](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/NumberOfDigits.js) * [ReverseNumber](Maths/ReverseNumber.js)
* [Palindrome](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Palindrome.js) * [ReversePolishNotation](Maths/ReversePolishNotation.js)
* [PascalTriangle](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PascalTriangle.js) * [SieveOfEratosthenes](Maths/SieveOfEratosthenes.js)
* [PerfectCube](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PerfectCube.js) * [SimpsonIntegration](Maths/SimpsonIntegration.js)
* [PerfectNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PerfectNumber.js) * [Softmax](Maths/Softmax.js)
* [PerfectSquare](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PerfectSquare.js) * [SquareRoot](Maths/SquareRoot.js)
* [PermutationAndCombination](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PermutationAndCombination.js) * [SumOfDigits](Maths/SumOfDigits.js)
* [PiApproximationMonteCarlo](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PiApproximationMonteCarlo.js) * [SumOfGeometricProgression](Maths/SumOfGeometricProgression.js)
* [Polynomial](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Polynomial.js) * [Volume](Maths/Volume.js)
* [Pow](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Pow.js) * [WhileLoopFactorial](Maths/WhileLoopFactorial.js)
* [PowLogarithmic](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PowLogarithmic.js) * [ZellersCongruenceAlgorithm](Maths/ZellersCongruenceAlgorithm.js)
* [PrimeCheck](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PrimeCheck.js) * **Navigation**
* [PrimeFactors](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/PrimeFactors.js) * [Haversine](Navigation/Haversine.js)
* [RadianToDegree](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/RadianToDegree.js) * **Project-Euler**
* [ReverseNumber](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ReverseNumber.js) * [Problem001](Project-Euler/Problem001.js)
* [ReversePolishNotation](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/ReversePolishNotation.js) * [Problem002](Project-Euler/Problem002.js)
* [SieveOfEratosthenes](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SieveOfEratosthenes.js) * [Problem003](Project-Euler/Problem003.js)
* [SimpsonIntegration](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SimpsonIntegration.js) * [Problem004](Project-Euler/Problem004.js)
* [Softmax](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Softmax.js) * [Problem005](Project-Euler/Problem005.js)
* [SquareRoot](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SquareRoot.js) * [Problem006](Project-Euler/Problem006.js)
* [SumOfDigits](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SumOfDigits.js) * [Problem008](Project-Euler/Problem008.js)
* [SumOfGeometricProgression](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/SumOfGeometricProgression.js) * [Problem009](Project-Euler/Problem009.js)
* [Volume](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/Volume.js) * [Problem010](Project-Euler/Problem010.js)
* [WhileLoopFactorial](https://github.com/TheAlgorithms/Javascript/blob/master/Maths/WhileLoopFactorial.js) * [Problem012](Project-Euler/Problem012.js)
* [Problem014](Project-Euler/Problem014.js)
## Navigation * [Problem015](Project-Euler/Problem015.js)
* [Haversine](https://github.com/TheAlgorithms/Javascript/blob/master/Navigation/Haversine.js) * [Problem016](Project-Euler/Problem016.js)
* [Problem018](Project-Euler/Problem018.js)
## Project-Euler * [Problem020](Project-Euler/Problem020.js)
* [Problem001](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem001.js) * [Problem023](Project-Euler/Problem023.js)
* [Problem002](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem002.js) * [Problem025](Project-Euler/Problem025.js)
* [Problem003](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem003.js) * **Recursive**
* [Problem004](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem004.js) * [BinaryEquivalent](Recursive/BinaryEquivalent.js)
* [Problem005](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem005.js) * [BinarySearch](Recursive/BinarySearch.js)
* [Problem006](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem006.js) * [EucledianGCD](Recursive/EucledianGCD.js)
* [Problem008](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem008.js) * [Factorial](Recursive/Factorial.js)
* [Problem009](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem009.js) * [FibonacciNumberRecursive](Recursive/FibonacciNumberRecursive.js)
* [Problem010](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem010.js) * [FloodFill](Recursive/FloodFill.js)
* [Problem012](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem012.js) * [KochSnowflake](Recursive/KochSnowflake.js)
* [Problem014](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem014.js) * [Palindrome](Recursive/Palindrome.js)
* [Problem015](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem015.js) * [SubsequenceRecursive](Recursive/SubsequenceRecursive.js)
* [Problem016](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem016.js) * [TowerOfHanoi](Recursive/TowerOfHanoi.js)
* [Problem018](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem018.js) * **Search**
* [Problem020](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem020.js) * [BinarySearch](Search/BinarySearch.js)
* [Problem023](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem023.js) * [ExponentialSearch](Search/ExponentialSearch.js)
* [Problem025](https://github.com/TheAlgorithms/Javascript/blob/master/Project-Euler/Problem025.js) * [FibonacciSearch](Search/FibonacciSearch.js)
* [InterpolationSearch](Search/InterpolationSearch.js)
## Recursive * [JumpSearch](Search/JumpSearch.js)
* [BinaryEquivalent](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/BinaryEquivalent.js) * [LinearSearch](Search/LinearSearch.js)
* [BinarySearch](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/BinarySearch.js) * [QuickSelectSearch](Search/QuickSelectSearch.js)
* [EucledianGCD](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/EucledianGCD.js) * [SlidingWindow](Search/SlidingWindow.js)
* [Factorial](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/Factorial.js) * [StringSearch](Search/StringSearch.js)
* [FibonacciNumberRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/FibonacciNumberRecursive.js) * [TernarySearch](Search/TernarySearch.js)
* [FloodFill](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/FloodFill.js) * [UnionFind](Search/UnionFind.js)
* [KochSnowflake](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/KochSnowflake.js) * **Sorts**
* [Palindrome](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/Palindrome.js) * [AlphaNumericalSort](Sorts/AlphaNumericalSort.js)
* [SubsequenceRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/SubsequenceRecursive.js) * [BeadSort](Sorts/BeadSort.js)
* [TowerOfHanoi](https://github.com/TheAlgorithms/Javascript/blob/master/Recursive/TowerOfHanoi.js) * [BogoSort](Sorts/BogoSort.js)
* [BubbleSort](Sorts/BubbleSort.js)
## Search * [BucketSort](Sorts/BucketSort.js)
* [BinarySearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/BinarySearch.js) * [CocktailShakerSort](Sorts/CocktailShakerSort.js)
* [ExponentialSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/ExponentialSearch.js) * [CombSort](Sorts/CombSort.js)
* [FibonacciSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/FibonacciSearch.js) * [CountingSort](Sorts/CountingSort.js)
* [InterpolationSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/InterpolationSearch.js) * [CycleSort](Sorts/CycleSort.js)
* [JumpSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/JumpSearch.js) * [FindSecondLargestElement](Sorts/FindSecondLargestElement.js)
* [LinearSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/LinearSearch.js) * [FisherYatesShuffle](Sorts/FisherYatesShuffle.js)
* [QuickSelectSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/QuickSelectSearch.js) * [FlashSort](Sorts/FlashSort.js)
* [SlidingWindow](https://github.com/TheAlgorithms/Javascript/blob/master/Search/SlidingWindow.js) * [GnomeSort](Sorts/GnomeSort.js)
* [StringSearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/StringSearch.js) * [HeapSort](Sorts/HeapSort.js)
* [TernarySearch](https://github.com/TheAlgorithms/Javascript/blob/master/Search/TernarySearch.js) * [HeapSortV2](Sorts/HeapSortV2.js)
* [UnionFind](https://github.com/TheAlgorithms/Javascript/blob/master/Search/UnionFind.js) * [InsertionSort](Sorts/InsertionSort.js)
* [IntroSort](Sorts/IntroSort.js)
## Sorts * [MergeSort](Sorts/MergeSort.js)
* [AlphaNumericalSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/AlphaNumericalSort.js) * [OddEvenSort](Sorts/OddEvenSort.js)
* [BeadSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BeadSort.js) * [PancakeSort](Sorts/PancakeSort.js)
* [BogoSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BogoSort.js) * [PigeonHoleSort](Sorts/PigeonHoleSort.js)
* [BubbleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BubbleSort.js) * [QuickSort](Sorts/QuickSort.js)
* [BucketSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BucketSort.js) * [QuickSortRecursive](Sorts/QuickSortRecursive.js)
* [CocktailShakerSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CocktailShakerSort.js) * [RadixSort](Sorts/RadixSort.js)
* [CombSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CombSort.js) * [SelectionSort](Sorts/SelectionSort.js)
* [CountingSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CountingSort.js) * [ShellSort](Sorts/ShellSort.js)
* [CycleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CycleSort.js) * [SimplifiedWiggleSort](Sorts/SimplifiedWiggleSort.js)
* [FindSecondLargestElement](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FindSecondLargestElement.js) * [StoogeSort](Sorts/StoogeSort.js)
* [FisherYatesShuffle](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FisherYatesShuffle.js) * [TimSort](Sorts/TimSort.js)
* [FlashSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FlashSort.js) * [TopologicalSort](Sorts/TopologicalSort.js)
* [GnomeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js) * **String**
* [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) * [AlphaNumericPalindrome](String/AlphaNumericPalindrome.js)
* [HeapSortV2](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSortV2.js) * [AlternativeStringArrange](String/AlternativeStringArrange.js)
* [InsertionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js) * [BoyerMoore](String/BoyerMoore.js)
* [IntroSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/IntroSort.js) * [CheckAnagram](String/CheckAnagram.js)
* [MergeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/MergeSort.js) * [CheckCamelCase](String/CheckCamelCase.js)
* [OddEvenSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/OddEvenSort.js) * [CheckExceeding](String/CheckExceeding.js)
* [PancakeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/PancakeSort.js) * [CheckFlatCase](String/CheckFlatCase.js)
* [PigeonHoleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/PigeonHoleSort.js) * [CheckKebabCase](String/CheckKebabCase.js)
* [QuickSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSort.js) * [CheckPalindrome](String/CheckPalindrome.js)
* [QuickSortRecursive](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSortRecursive.js) * [CheckPangram](String/CheckPangram.js)
* [RadixSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/RadixSort.js) * [CheckPascalCase](String/CheckPascalCase.js)
* [SelectionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/SelectionSort.js) * [CheckRearrangePalindrome](String/CheckRearrangePalindrome.js)
* [ShellSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/ShellSort.js) * [CheckSnakeCase](String/CheckSnakeCase.js)
* [TimSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/TimSort.js) * [CheckWordOccurrence](String/CheckWordOccurrence.js)
* [TopologicalSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/TopologicalSort.js) * [CountVowels](String/CountVowels.js)
* [WiggleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/WiggleSort.js) * [CreatePermutations](String/CreatePermutations.js)
* [DiceCoefficient](String/DiceCoefficient.js)
## String * [FormatPhoneNumber](String/FormatPhoneNumber.js)
* [AlphaNumericPalindrome](https://github.com/TheAlgorithms/Javascript/blob/master/String/AlphaNumericPalindrome.js) * [GenerateGUID](String/GenerateGUID.js)
* [AlternativeStringArrange](https://github.com/TheAlgorithms/Javascript/blob/master/String/AlternativeStringArrange.js) * [HammingDistance](String/HammingDistance.js)
* [BoyerMoore](https://github.com/TheAlgorithms/Javascript/blob/master/String/BoyerMoore.js) * [KMPPatternSearching](String/KMPPatternSearching.js)
* [CheckAnagram](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckAnagram.js) * [LevenshteinDistance](String/LevenshteinDistance.js)
* [CheckCamelCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckCamelCase.js) * [Lower](String/Lower.js)
* [CheckExceeding](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckExceeding.js) * [MaxCharacter](String/MaxCharacter.js)
* [CheckFlatCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckFlatCase.js) * [MaxWord](String/MaxWord.js)
* [CheckKebabCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckKebabCase.js) * [PatternMatching](String/PatternMatching.js)
* [CheckPalindrome](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckPalindrome.js) * [PermutateString](String/PermutateString.js)
* [CheckPangram](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckPangram.js) * [ReverseString](String/ReverseString.js)
* [CheckPascalCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckPascalCase.js) * [ReverseWords](String/ReverseWords.js)
* [CheckRearrangePalindrome](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckRearrangePalindrome.js) * [ScrambleStrings](String/ScrambleStrings.js)
* [CheckSnakeCase](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckSnakeCase.js) * [Upper](String/Upper.js)
* [CheckWordOccurrence](https://github.com/TheAlgorithms/Javascript/blob/master/String/CheckWordOccurrence.js) * [ValidateCreditCard](String/ValidateCreditCard.js)
* [CountVowels](https://github.com/TheAlgorithms/Javascript/blob/master/String/CountVowels.js) * [ValidateEmail](String/ValidateEmail.js)
* [CreatePermutations](https://github.com/TheAlgorithms/Javascript/blob/master/String/CreatePermutations.js) * [ValidateUrl](String/ValidateUrl.js)
* [DiceCoefficient](https://github.com/TheAlgorithms/Javascript/blob/master/String/DiceCoefficient.js) * **Timing-Functions**
* [FormatPhoneNumber](https://github.com/TheAlgorithms/Javascript/blob/master/String/FormatPhoneNumber.js) * [GetMonthDays](Timing-Functions/GetMonthDays.js)
* [GenerateGUID](https://github.com/TheAlgorithms/Javascript/blob/master/String/GenerateGUID.js) * [IntervalTimer](Timing-Functions/IntervalTimer.js)
* [HammingDistance](https://github.com/TheAlgorithms/Javascript/blob/master/String/HammingDistance.js) * **Trees**
* [KMPPatternSearching](https://github.com/TheAlgorithms/Javascript/blob/master/String/KMPPatternSearching.js) * [BreadthFirstTreeTraversal](Trees/BreadthFirstTreeTraversal.js)
* [LevenshteinDistance](https://github.com/TheAlgorithms/Javascript/blob/master/String/LevenshteinDistance.js) * [DepthFirstSearch](Trees/DepthFirstSearch.js)
* [Lower](https://github.com/TheAlgorithms/Javascript/blob/master/String/Lower.js) * [FenwickTree](Trees/FenwickTree.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)