Mahmoud Aslan
20497bb044
Fixed Contains operation pseudo code ( #180 )
2018-08-27 16:37:25 +03:00
Oleksii Trekhleb
b1f31cd067
Fix issue #179 .
2018-08-27 16:30:18 +03:00
Oleksii Trekhleb
bdf8a174eb
Improve Trie test coverage back to 100%.
2018-08-27 15:54:55 +03:00
Oleksii Trekhleb
4104155182
Simplify deletion method of TrieNode.
2018-08-27 15:45:48 +03:00
Oleksii Trekhleb
a7ffba157c
Extend Trie and TrieNode tests.
2018-08-27 15:38:50 +03:00
Kevin Brewer
d25eff49e6
Add Trie.deleteWord and TrieNode.removeChild ( #181 )
2018-08-27 15:33:16 +03:00
Oleksii Trekhleb
6e2ff9b604
Add comments to Trie "add" method.
2018-08-25 13:34:05 +03:00
Kevin Brewer
eac3e81a21
Fix TrieNode.addChild so substrings get marked as complete words ( #177 )
2018-08-25 13:27:44 +03:00
Oleksii Trekhleb
20b0c48e84
Add comments to Stack code.
2018-08-22 07:49:22 +03:00
Oleksii Trekhleb
571d9312cd
Fix trie's doesWordExists method.
2018-08-21 23:03:04 +03:00
Oleg
392cd9806d
Fix method Trie::doesWordExist() ( #175 )
...
Method Trie::doesWordExist() return `true` when word is complete otherwise `false`
2018-08-21 23:00:11 +03:00
Oleksii Trekhleb
5eb1195c61
Add backtracking solution for finding the power-set of a set.
2018-08-21 16:55:26 +03:00
Oleksii Trekhleb
bffacf0707
Add nQueens bitwise solution.
2018-08-20 18:12:56 +03:00
Oleksii Trekhleb
20159312be
Move nQueens bitwise version to the same folder with nQueens algorithm.
2018-08-20 15:59:37 +03:00
Matej Jellus
18ba3a4db3
Add N queens problem bitwise solution ( #15 )
...
* Add N queens problem bitwise solution
* Update code to corespond with eslint
2018-08-20 15:57:01 +03:00
Oleksii Trekhleb
5a57c5f018
Add comments to Queue class.
2018-08-17 18:00:20 +03:00
Oleksii Trekhleb
5eea37837f
Add annotations to Queue.
2018-08-17 17:47:29 +03:00
Oleksii Trekhleb
260f24b2cb
Update Bits Operations README.
2018-08-17 10:41:18 +03:00
Oleksii Trekhleb
ecfc287927
Update Bits Operations README.
2018-08-17 10:36:47 +03:00
Oleksii Trekhleb
983492115d
Fix tests.
2018-08-17 10:31:18 +03:00
Oleksii Trekhleb
a02d5f625d
Move common Max/Min Heap code to Heap.js.
2018-08-17 10:23:07 +03:00
Oleksii Trekhleb
031c5da556
Refactor Heaps.
2018-08-16 21:03:32 +03:00
Oleksii Kersov
10e633f075
Add MaxHeap ( #167 )
...
* Add MaxHeap
* Add parent class for MinHeap and MaxHeap
2018-08-16 18:18:19 +03:00
Oleksii Trekhleb
6e63a0548e
Add Inverse Discrete Fourier Transform.
2018-08-16 13:14:40 +03:00
Oleksii Trekhleb
351a745f55
Refactor DFT and add common tests for Fourier.
2018-08-16 12:37:06 +03:00
Oleksii Trekhleb
13ed5061a3
Update FFT tests.
2018-08-15 17:47:32 +03:00
Oleksii Trekhleb
c2f7e49f07
Fix README for Fourier transform.
2018-08-15 13:40:16 +03:00
Oleksii Trekhleb
d736b2f355
Style fixes for FFT code.
2018-08-15 13:32:09 +03:00
Oleksii Trekhleb
ac9920a0f3
Style fixes for FFT code.
2018-08-15 13:27:50 +03:00
Oleksii Trekhleb
a88c45a329
Fix typos.
2018-08-15 13:00:04 +03:00
Oleksii Trekhleb
12d649e372
Implement Discrete Fourier Transform function.
2018-08-15 12:56:23 +03:00
Oleksii Trekhleb
53a0b6168d
Fix bug with converting complex number into polar form.
2018-08-15 12:55:35 +03:00
Oleksii Trekhleb
4bdac18ae0
Add polar form of complex number to README.
2018-08-14 23:19:30 +03:00
Oleksii Trekhleb
d0c4baf7b3
Add DFT.
2018-08-14 23:12:17 +03:00
Oleksii Trekhleb
8e66189eff
Update Fourier README.
2018-08-14 23:03:07 +03:00
Oleksii Trekhleb
e252eb631d
Add polar representation of complex numbers.
2018-08-14 22:56:13 +03:00
Oleksii Trekhleb
096d5a8b5b
Add Radian.
2018-08-14 22:31:13 +03:00
Oleksii Trekhleb
b3315966e5
Refactor complex numbers.
2018-08-14 21:30:57 +03:00
Oleksii Trekhleb
7d6854489e
Merge branches 'fourier' and 'master' of https://github.com/trekhleb/javascript-algorithms into fourier
2018-08-14 17:45:56 +03:00
Oleksii Trekhleb
b0c9057cdb
Fix pseudocode formatting.
2018-08-14 15:46:58 +03:00
Moshe
b6ac765c99
Pseudocode + big O for BFS ( #166 )
2018-08-14 15:21:34 +03:00
Moshe
953eaf8970
Update README.md ( #165 )
...
Add Pseudocode and Big O
2018-08-14 15:20:54 +03:00
Moshe
7207bcefb2
Update README.md ( #164 )
...
Add Pseudocode for Doubly Linked List
2018-08-14 15:20:09 +03:00
Moshe
5667cfb550
Update README.md ( #163 )
...
fix verbiage
2018-08-14 15:18:55 +03:00
Oleksii Trekhleb
29fb0c7055
Rename variables.
2018-08-13 18:09:46 +03:00
Oleksii Trekhleb
8ea35a5549
Merge branch 'master' of https://github.com/trekhleb/javascript-algorithms into fourier
2018-08-13 18:08:07 +03:00
Oleksii Trekhleb
9111568fc0
Add bits counter function.
2018-08-13 18:06:48 +03:00
Oleksii Trekhleb
7d3115edaa
Use existing complex numbers implementation for Fourier.
2018-08-13 17:57:17 +03:00
Prateek Karnal
6f10b0e10f
Added Fast Fourier transform ( #135 )
...
* Added Fast fourier transform
* Adding DFT explanation
* Added tests for Fast Fourier transform
* Fixed some comments
2018-08-13 17:45:50 +03:00
Oleksii Trekhleb
3c37ba4424
Add bitsDiff function.
2018-08-13 11:02:58 +03:00
Tapasweni Pathak
2361e6fc44
Add countBitsToflipAToB ( #154 )
2018-08-13 10:52:29 +03:00
Oleksii Trekhleb
6c9641aa3d
Add pseudocodes to LinkedList.
2018-08-13 10:41:06 +03:00
Oleksii Trekhleb
f6c091bcb1
Add pseudocodes to LinkedList.
2018-08-13 10:38:19 +03:00
Moshe
02b70d95d6
Update README.md ( #162 )
...
Add Pseudocode and Big O notation
2018-08-13 10:30:49 +03:00
Oleksii Trekhleb
37c7be15e9
Add bit counter function.
2018-08-12 10:18:32 +03:00
Oleksii Trekhleb
9ce137cef8
Add bit counter function.
2018-08-12 10:16:12 +03:00
Tapasweni Pathak
a8f7d6a333
Add countSetBits ( #152 )
2018-08-12 10:06:13 +03:00
Oleksii Trekhleb
70ec623cbf
Add ComplexNumber.
2018-08-11 15:58:19 +03:00
Oleksii Trekhleb
46b13f04fd
Update BitWise Operation README.
2018-08-10 18:22:06 +03:00
Oleksii Trekhleb
7f189498cf
Update BitWise Operation README.
2018-08-10 18:19:58 +03:00
Ujjwal Aryal
3f963ccc21
Update README.md ( #141 )
2018-08-10 18:16:39 +03:00
Oleksii Trekhleb
50c025949b
Refactor bitwise multiplication.
2018-08-10 18:14:39 +03:00
Ujjwal Aryal
53c7143e07
Create multiply.js ( #140 )
...
Multiply Two numbers using Bit-wise Operator.
2018-08-10 17:39:45 +03:00
Oleksii Trekhleb
ff4854e0b8
Simplify PolynomialHash function.
2018-08-09 16:04:59 +03:00
Oleksii Trekhleb
51f496ce2e
Add SimplePolynomialHash function.
2018-08-09 15:46:22 +03:00
Oleksii Trekhleb
d5be477bd8
Add Polynomial Hash function.
2018-08-09 15:12:36 +03:00
Oleksii Trekhleb
98a44ea832
Added Polynomial Hash Function.
2018-08-09 07:24:31 +03:00
Oleksii Trekhleb
b3a503aa6d
Add unicode based tests for RabinKarp.
2018-08-09 06:10:47 +03:00
Oleksii Trekhleb
e7d22b4883
Use '===' for double check string comparision in RabinKarp.
2018-08-09 06:05:09 +03:00
Oleksii Trekhleb
d303d83673
Use rolling hash function for RabinKarp.
2018-08-09 05:57:53 +03:00
Oleksii Trekhleb
650e3099e5
Merge branches 'issue-102-rabin-karp-fix' and 'master' of https://github.com/trekhleb/javascript-algorithms into issue-102-rabin-karp-fix
2018-08-06 16:55:01 +03:00
Oz Weiss
7c9601df3e
Update combinationSum.js ( #137 )
...
fixing a few typos in comments
2018-08-06 16:40:23 +03:00
Diego Paiva
941feda305
Fix kruskal's exception message for directed graph ( #138 )
2018-08-06 16:26:22 +03:00
Oleksii Trekhleb
88bbfdc470
Add fromArray() methods to LinkedList and DoublyLinkedList.
2018-08-06 16:12:31 +03:00
Simon
0ea24230d4
Patch 5 ( #127 )
...
* New function 'fromArray'
Function get array of Doubly Linked List Nodes, go through and append to currently list.
* New Test for new function 'fromArray'
* Minor changes
Minor changes about coding style.
2018-08-06 16:02:46 +03:00
Oleksii Trekhleb
7a4b829abe
Fix issue #132 - Wrong Red-Black Tree pictures in README.
2018-08-02 16:43:54 +03:00
Oleksii Trekhleb
ecc8c65466
Add comments to Linked List code.
2018-07-30 15:38:04 +03:00
Oleksii Trekhleb
97926b1243
Add comments to Linked List code.
2018-07-30 15:35:28 +03:00
seIncorp
5105898aa7
Twice defined ( #124 )
...
* Twice defined
Parameter 'deletedTail' were defined twice.
* Update LinkedList.js
* Update LinkedList.js
2018-07-30 15:33:17 +03:00
Oleksii Trekhleb
6e897a0a7a
Minor README updates.
2018-07-30 14:18:56 +03:00
Bruce-Feldman
c4605ea13d
Refactor Rabin-Karp ( #110 )
...
* Simplify Rabin-Karp functionality
* Created Rabin Fingerprinting module within util directory
* Updated Rabin-Karp search to use rolling hash module
Incorporate tests from @dubzzz
2018-07-30 12:20:40 +03:00
Oleksii Trekhleb
305e30357c
Add comments to HashTable hash function.
2018-07-29 08:28:03 +03:00
Oleksii Trekhleb
f1152bf4b4
Update README for Trapping Rain Water problem.
2018-07-27 14:11:33 +03:00
Oleksii Trekhleb
26239f9a97
Refactor dynamic programming approach of Trapping Rain Water problem.
2018-07-27 14:06:58 +03:00
Oleksii Trekhleb
f07e96ec59
Refactor dynamic programming approach of Trapping Rain Water problem.
2018-07-27 14:04:37 +03:00
Oleksii Trekhleb
340a71b7d9
Add brute force solution of Rain Terraces problem.
2018-07-27 13:40:07 +03:00
Oleksii Trekhleb
6fc429975f
Add Rain Terraces problem.
2018-07-27 13:00:24 +03:00
Oleksii Trekhleb
3271ee92b9
Add Rain Terraces problem.
2018-07-27 12:59:56 +03:00
Keoni Garner
f142ca00b2
Add rain-terraces (trapping rain water) algorithm ( #112 )
...
* Add rain-terraces (trapping rain water) algorithm
* Fixed linting errors
* Fixed linting errors
2018-07-27 12:25:15 +03:00
Oleksii Trekhleb
80e3216609
Add annotations to Trie.
2018-07-26 18:02:34 +03:00
Oleksii Trekhleb
39acb2b65d
Avoid using toBeTruthy() and toBeFalsy() because of type coercion.
2018-07-26 16:14:26 +03:00
Oleksii Trekhleb
39014f7543
Fix issue #105 .
2018-07-24 12:37:55 +03:00
Oleksii Trekhleb
12f0b331b8
Add more tests for rabinKarp.
2018-07-24 12:29:12 +03:00
Nicolas DUBIEN
0361fe5cf8
Fix knuthMorrisPratt for empty word request ( #101 )
2018-07-24 12:26:22 +03:00
Oleksii Trekhleb
6a3a4b8697
Add new test cases for KMP algorithm.
2018-07-23 18:00:54 +03:00
Oleksii Trekhleb
76c172b20b
Code style fixes for negative Counting Sort testing.
2018-07-22 18:23:39 +03:00
Nicolas DUBIEN
3be02b5519
Fix CountingSort for negative numbers ( #100 )
2018-07-22 18:03:13 +03:00
Oleksii Trekhleb
149444b47c
Add Interpolation Search.
2018-07-18 14:35:02 +03:00
Oleksii Trekhleb
31344fa6a2
Add tests for Jump Search.
2018-07-18 12:03:21 +03:00
Oleksii Trekhleb
a327b68a06
Add Jump Search algorithm.
2018-07-18 09:21:20 +03:00
Oleksii Trekhleb
b73ddec94d
Add Pascal's Triangle based solution for Unique Paths problem.
2018-07-14 11:08:19 +03:00
Oleksii Trekhleb
d8fb6579b1
Add Unique Paths problem with backtracking and DP solutions.
2018-07-14 10:35:35 +03:00
Oleksii Trekhleb
863dbdbac3
Fix issue #98 .
2018-07-13 17:48:27 +03:00
Oleksii Trekhleb
fafa52c26e
Refactor Floyd-Warshall tests.
2018-07-13 17:36:39 +03:00
Oleksii Trekhleb
2874637d40
Refactor Floyd-Warshall tests.
2018-07-13 17:05:21 +03:00
Oleksii Trekhleb
dca7f6f874
Refactor Floyd-Warshall.
2018-07-13 16:56:33 +03:00
Oleksii Trekhleb
994ac2781a
Update Floyd-Warshall READMEs.
2018-07-13 15:02:58 +03:00
vivaxy
9f8fd33202
feat(algorithms): ✨ Add Floyd-Warshall ( #97 )
2018-07-13 14:23:47 +03:00
Oleksii Trekhleb
3e8540beac
Add Jump Game.
2018-07-10 08:17:52 +03:00
Oleksii Trekhleb
549759757d
Add bottom-up dynamic programming solution to Jump Game.
2018-07-10 07:56:28 +03:00
Oleksii Trekhleb
57c2a334ce
Add top-down dynamic programming solution to Jump Game.
2018-07-10 07:37:29 +03:00
Oleksii Trekhleb
b71a2ebe9e
Change naming for Jump Game files.
2018-07-10 07:23:25 +03:00
Oleksii Trekhleb
df17e29fb7
Add backtracking solution to JumpGame.
2018-07-10 07:15:36 +03:00
Oleksii Trekhleb
aacd7795d6
Add greedy solution for Jump Game.
2018-07-09 18:00:09 +03:00
Oleksii Trekhleb
e47ca45b7a
Add greedy solution for Jump Game.
2018-07-09 17:59:36 +03:00
Oleksii Trekhleb
afbdb89101
Update heap documentation.
2018-07-08 04:29:12 +03:00
Correy Lim
a3d099003d
Improve data-structures/heap/README.md ( #94 )
...
* Update data-structure/heap/README.md
The overuse of parenthesis in the previous description made the
explanation of a heap more diffcult to read. Following technical
writing standards, the topic of the sentence should be at the
forefront of a sentence, to give the reader an idea of what is
going to be explained in said sentence.
The mention of min heap and max heap were previously in parenthesis, in
the middle of the sentence. This change informs the reader that there
are two types of heaps, with a preface indicating which one is being
explained.
* Add min heap picture and move max heap picture
Add a picture of a min heap below the explanation of a min heap.
Move the picture of a max heap below the explanation of a max heap.
* Italicize heap terminology
Italicize the terms 'max heap' and 'min heap' to make it clear to readers that new terminology is being introduced
2018-07-08 04:27:06 +03:00
Oleksii Trekhleb
b87839062a
Add Pascal's triangle.
2018-07-07 11:11:20 +03:00
Oleksii Trekhleb
f3189cca43
Add Pascal's triangle.
2018-07-07 10:35:37 +03:00
Oleksii Trekhleb
bb86b30dda
Code style fixes for matrix rotation algorithm.
2018-07-06 12:02:42 +03:00
Oleksii Trekhleb
57378c5e19
Update matrix rotation README.
2018-07-06 11:52:34 +03:00
Oleksii Trekhleb
75133592bb
Add square matrix rotation in-place algorithm.
2018-07-06 08:15:56 +03:00
Oleksii Trekhleb
17ad4dc4d1
Upgrade packages.
2018-07-05 16:30:00 +03:00
Oleksii Trekhleb
d0499d2544
Minor code style fixes for DoublyLinkedList.
2018-07-05 15:44:25 +03:00
Oleksii Trekhleb
a72fda4dfd
Minor code style fixes for DoublyLinkedList.
2018-07-05 15:33:39 +03:00
Oleksii Trekhleb
6a5ed26bd2
Extend DoublyLinkedListNode tests.
2018-07-05 15:28:11 +03:00
Oleksii Trekhleb
a9eeea2ca8
Update doubly linked list README.
2018-07-05 15:25:51 +03:00
Huzaima Khan
6b354ad4ce
Added doubly linked list ( #92 )
...
* Added doubly linked list
* improved doubly linked list coverage
2018-07-05 15:18:57 +03:00
Oleksii Trekhleb
fef2aa7691
Update README.
2018-07-04 18:09:55 +03:00
Bruce-Feldman
e36c441fa9
Minor fixes. ( #91 )
...
* Get Bit: Make more terse
* Power of two: Allowed 1 as a valid power of 2.
Power of two: Removed unnecessary exception throwing.
* Fisher Yates: Made more terse
* Least Common Multiple: Fill undefined value
* Greatest Common Divisor: Fill undefined value.
Greatest Common Divisor: Make more terse.
2018-07-04 17:53:22 +03:00
Oleksii Trekhleb
93bfe97e27
Add test cases for sorting negative numbers and zeros.
2018-07-03 12:06:00 +03:00
m-maksyutin
d82958dea9
Fix the insertion sort ( #86 )
...
* Fix LinkedList
* Fix the prepend method for the LinkedList
* Fix the remove method for the MinHeap
* Correct a comment
* Fix BST removal method
* Fix the findEdge method of the graph
* Fix the value returned by DisjointSet union
* Add recursive factorial function
* Fix the insertion sort
2018-07-03 11:56:34 +03:00
Oleksii Trekhleb
e3b482c5e6
Update bloom filters description.
2018-06-30 21:48:57 +03:00
Oleksii Trekhleb
a2310c59d3
Delete false positive tests for bloom filter.
2018-06-30 20:46:34 +03:00
Oleksii Trekhleb
610b120e27
BloomFilter minor fixes.
2018-06-30 20:39:46 +03:00
Oleksii Trekhleb
b33b1fe1bc
Update bloom filter README.
2018-06-30 20:23:02 +03:00
arnav-aggarwal
41a6430532
Add bloom filter ( #84 )
2018-06-30 20:07:19 +03:00
Oleksii Trekhleb
b33f1d52dc
Add "Combination Sum" backtracking algorithm.
2018-06-30 10:19:14 +03:00
Oleksii Trekhleb
b41cffea0f
Add permutations/combinations cheat sheets.
2018-06-29 14:44:11 +03:00
Oleksii Trekhleb
00f75028bf
Simplify permutateWithoutRepetitions algorithm.
2018-06-29 12:23:26 +03:00
Oleksii Trekhleb
db7ab9e299
Simplify permutateWithRepetitions algorithm.
2018-06-28 21:28:50 +03:00
m-maksyutin
c5ed81d85e
Add recursive factorial function ( #85 )
...
* Fix LinkedList
* Fix the prepend method for the LinkedList
* Fix the remove method for the MinHeap
* Correct a comment
* Fix BST removal method
* Fix the findEdge method of the graph
* Fix the value returned by DisjointSet union
* Add recursive factorial function
2018-06-28 21:03:31 +03:00
Oleksii Trekhleb
65f08db5de
Simplify combineWithRepetitions function.
2018-06-28 14:05:58 +03:00
Oleksii Trekhleb
e5a06e654b
Simplify combineWithoutRepetitions function.
2018-06-28 13:46:26 +03:00
Oleksii Trekhleb
55ecc0b313
Fix typo.
2018-06-27 18:59:25 +03:00
Oleksii Trekhleb
933848b215
Add more bit manipulation functions.
2018-06-27 18:05:18 +03:00
Oleksii Trekhleb
c268203259
Add more bit manipulation functions.
2018-06-27 17:33:16 +03:00
Oleksii Trekhleb
792f4906df
Add bit manipulation section.
2018-06-27 17:19:20 +03:00
m-maksyutin
36e0bfeb32
Fix the value returned by DisjointSet union ( #81 )
...
* Fix LinkedList
* Fix the prepend method for the LinkedList
* Fix the remove method for the MinHeap
* Correct a comment
* Fix BST removal method
* Fix the findEdge method of the graph
* Fix the value returned by DisjointSet union
2018-06-27 16:22:54 +03:00
Oleksii Trekhleb
d69199e658
Add regular expression matching algorithm.
2018-06-25 20:02:24 +03:00