Commit Graph

744 Commits

Author SHA1 Message Date
Nilton Lopes
8590d7ad43 Update README.pt-BR.md (#335)
Improving translate
2019-04-12 08:35:37 +03:00
matsuge
2632a3a683 Add Japanese translation (#1) (#337)
* add japanese translation

* fix typo
2019-04-12 08:32:08 +03:00
Oleksii Trekhleb
5c12f45ddc Minor typo fix. 2019-04-02 21:57:00 -07:00
Oleksii Trekhleb
b1c36a85cf Minor typo fix. 2019-04-02 21:55:48 -07:00
Sergii Tkachenko
97e4f5fe2a Add Full Adder algorithm (math/bits) (#334)
* Add Full Adder algorithm (math/bits)

* Full adder: minor spelling fixes

* Full adder: even better comments
2019-04-03 07:42:16 +03:00
Oleksii Trekhleb
339ae02977 Add square root finding algorithm. 2019-03-23 13:44:24 +02:00
Oleksii Trekhleb
4aecd5772f Fix README typos. 2019-03-22 07:47:39 +02:00
Omar Kalouti
f36381c7ec adds note explaining origin of the name 'radix sort' (#293) 2019-03-22 07:45:04 +02:00
Stulov Alex
43e1cca3e6 Translate Bloom filter into Russian. (#320) 2019-03-22 07:36:35 +02:00
Stulov Alex
e286a92d8d Feature/translate trie (#324)
* Translate trie into Russian.

* Add image description.
2019-03-22 07:32:44 +02:00
linghuam
3eab9eef40 some mistakes in delete method and time comlexity (#322) 2019-03-22 07:29:50 +02:00
lisq
db83ec20ec Update README.zh-CN.md (#326) 2019-03-22 07:28:12 +02:00
Nilton Lopes
d569102f06 Update README.md (#331)
Adding link to read in portuguese :)
2019-03-22 07:27:12 +02:00
Nilton Lopes
c510775f39 Translated to portuguese (#330) 2019-03-22 07:25:48 +02:00
Stulov Alex
38d0ccc222 Translate disjoint set into Russian. (#321) 2019-03-22 07:18:18 +02:00
haalogen
b87e326fcf Fix performance measuring code bug (#313) 2019-03-08 13:08:18 +02:00
Cloudyan
8ab965b483 Update README.md (#316) 2019-03-08 13:05:50 +02:00
Masato Ohba
d267bd6e30 Fix typo: yeild => yield (#309)
```shell
ag -l yeild |  xargs sed -i '' -e 's/yeild/yield/g'
```
2019-03-08 13:02:15 +02:00
Stulov Alex
c672f1ff30 Translate hash table into Russian. Add links from English file to translations. (#318) 2019-03-08 12:52:53 +02:00
Stulov Alex
0aa63ff42a Translate heap into Russian. Add links to main README file. (#317) 2019-03-08 12:50:40 +02:00
Stulov Alex
94d7614001 Translate graph into Russian. (#319) 2019-03-08 12:47:09 +02:00
Oleksii Trekhleb
8ea21a66c9 Make it possible to use objects in priority queue. 2019-03-03 10:10:19 +02:00
Oleksii Trekhleb
881e3ae5aa Add more comments for Dijkstra. 2019-03-03 09:58:02 +02:00
Oleksii Trekhleb
1f393551c7 Add link to Graph Breadth-First-Search visualization. 2019-02-15 07:18:53 +02:00
Oleksii Trekhleb
b527f9bf71 Add more links for further readings for graph DFS. 2019-02-13 07:40:43 +02:00
Oleksii Trekhleb
6fe7df339a Add more comments to tree DFS algorithm. 2019-02-01 09:02:23 +02:00
Oleksii Trekhleb
f08fc37dad Add comments to combination algorithms. 2019-01-04 17:03:35 +02:00
KeiSei
6261d0e9bb [Fix] Capitalization issues of doubly linked list. (#282) 2019-01-04 16:38:58 +02:00
Oleksii Trekhleb
3064a7906b Add links to zh-CN version of Factorial. 2018-12-28 16:35:54 +02:00
RequireSun
af77d1adc1 Create README.zh-CN.md (#267) 2018-12-28 16:33:25 +02:00
Stulov Alex
2bf2cd906a Translate Priority Queue. (#279) 2018-12-28 16:28:44 +02:00
Stulov Alex
9e7ef3680a Translate Queue into Russian. (#278) 2018-12-28 16:27:14 +02:00
Stulov Alex
d67db50a3b Translate stack into Russian. (#277) 2018-12-28 16:25:36 +02:00
Stulov Alex
f53eb17665 Translate DoublyLinkedList. (#276) 2018-12-28 16:21:51 +02:00
Oleksii Trekhleb
db6fcb289a Fix LinkedList translations. 2018-12-28 07:17:21 +02:00
Stulov Alex
90d8a3f6fc Translate into Russian (#275)
* Translate LinkedList README in Russian.

* Translate missed sentence. Add link to Chinese README.
2018-12-28 07:13:01 +02:00
Whales
98eb9aebff fix wrong words (#273) 2018-12-28 07:03:39 +02:00
Oleksii Trekhleb
59c6f4df13 Optimize permutations algorithm. 2018-12-14 13:56:15 +02:00
Oleksii Trekhleb
d9946c1249 Fix btPowerSet() comments. 2018-12-11 07:57:38 +02:00
Oleksii Trekhleb
da0f97a2d3 Fix PowerSet function naming. 2018-12-11 06:21:50 +02:00
Oleksii Trekhleb
3baf88cf75 Add PowerSet binary solution example. 2018-12-11 06:04:20 +02:00
RequireSun
3844e9f1da fix: correct the wrong code of Deletion (#263) 2018-12-11 06:00:22 +02:00
Oleksii Trekhleb
8473562b7e Fix broken links for AVL tree README. 2018-12-10 18:37:13 +02:00
Oleksii Trekhleb
afa3346c48 Code style updates for DoublyLinkedList tests. 2018-12-09 17:07:13 +02:00
YuqiangZhang
c18d119a6a fixed doubly-linked-list reverse method omit change node's previous (#257) 2018-12-09 17:03:47 +02:00
Oleksii Trekhleb
6be276fceb Fix indentations in bubble-sort README. 2018-12-09 16:11:48 +02:00
Sylvester-ABC
d91edc9a39 update on readme (#235)
I make sure readers get the full understanding of the documentation
2018-12-09 16:10:30 +02:00
Oleksii Trekhleb
2382225e03 Add comments to Cartesian Product function. 2018-12-05 06:06:29 +02:00
Oleksii Trekhleb
243be8f2d1 Add comments to binarySearch function. 2018-12-04 08:04:24 +02:00
Oleksii Trekhleb
1ecb5b4236 Add comparator annotations. 2018-11-30 07:43:09 +02:00
Oleksii Trekhleb
f7ebddc82d Remove duplicated methods from Graph class. 2018-11-26 06:30:56 +02:00
Oleksii Trekhleb
9bc2800848 Add Recursive Staircase Problem. 2018-11-14 17:45:14 +02:00
Silence Tang
fac2d1ff50 use Destructuring in change data (#233) 2018-10-23 05:45:58 +03:00
catchme
fad170cfc8 fix typo error (#228) 2018-10-18 06:19:46 +03:00
Yavorski
6bd6072d45 Properly detect min and max element in array (#224) 2018-10-17 06:19:14 +03:00
Sid
5d12638ab5 BubbleSort: use Destructuring assignment to swap values (#226)
* BubbleSort: use Destructuring assignment to swap values

* lint: add semi
2018-10-17 06:13:27 +03:00
kiinlam
044441e259 Add prepend and fix bug (#227)
Add prepend operation and fix some mistake in pseudocode.
2018-10-17 06:08:34 +03:00
Oleksii Trekhleb
afa4948767 Simplify AVL tree node deletion. 2018-09-24 09:45:31 +03:00
Hafidz Jazuli Luthfi
04e533e4b5 Add remove method (#33)
Remove node in AvlTree with auto balancing.

Fix issue: https://github.com/trekhleb/javascript-algorithms/issues/13
2018-09-24 09:12:38 +03:00
Yavorski
9f3561d291 Fix Stack pop comlexity to be O(1) (#214)
* By definition Stack push/pop time complexity should be O(1).
* Fix is applied by removing head instead of tail in pop method.
* Push method now do preprend instead of append.
* Fix consistency between toString and toArray methods.
2018-09-24 07:31:18 +03:00
Oleksii Trekhleb
45fb2a24be Vectorize images for Levenshtein Distance. 2018-09-20 16:25:46 +03:00
Ocn
40e48ddfb2 Fix minor typos in README (#211) 2018-09-20 16:23:17 +03:00
Oleksii Trekhleb
2451db975d Add iterative version of Euclidean algorithm. 2018-09-18 08:17:47 +03:00
Vamshi Bachaneboina
c00c689255 Update euclideanAlgorithm.js (#207)
Method 2 is easy to evaluate or understand without using recursion stack!
2018-09-18 08:04:56 +03:00
Oleksii Trekhleb
51d67e7eac Add fibonacci Binet's formula. 2018-09-15 09:17:19 +03:00
Karlo Vrbić
a23400380d Add fibonnaci sequence closed form function (#130)
* Add fibonnaci sequence closed form function

* Revert package-lock.json
2018-09-14 18:01:41 +03:00
Oleksii Trekhleb
dea368cb16 Add more fibonacci test cases. 2018-09-14 17:56:38 +03:00
Oleksii Trekhleb
46bc844fc6 Add several more comments to in place quick sort. 2018-09-14 17:21:51 +03:00
Kevin Brewer
66f19d65c5 Minor refactor of QuickSortInPlace for simplification (#187) 2018-09-14 17:03:37 +03:00
Oleksii Trekhleb
92b9e6ad1d Add more tests to isPositive() bitwise function. 2018-09-14 08:06:48 +03:00
ADITYA
ab7755aad7 feat(bitwise): Function to check if a number is positive (#204) 2018-09-14 07:42:42 +03:00
Oleksii Trekhleb
de6a24e0d1 Minor code style fixes for bitwise multiplication. 2018-09-08 23:09:04 +03:00
ADITYA
bc8943dee2 Perform multiplication of any two integers positive or negative through bit manipulations (#201) 2018-09-08 22:51:03 +03:00
Vinicius
1a62078f26 Improve JSDocs in Stack.js (#203)
The functions' comments were copied from Queue.js, but some words were not replaced.
I also made some changes to the wording for clarification.
2018-09-08 22:35:24 +03:00
Oleksii Trekhleb
6f27113993 Add reverse() method for doubly linked list. 2018-09-08 22:25:23 +03:00
Oleksii Trekhleb
80ecbe0b3e Move linked list traversals into separate section. 2018-09-08 22:20:52 +03:00
Oleksii Trekhleb
2feec48ea6 Add more test cases for linked list reversion. 2018-09-08 12:16:15 +03:00
Hanh D. TRAN
4989a6a3b0 Add LinkedList traversal and reverse implementations (#194)
* Add LinkedList traverse function

* Add LinkedList reverse traversal implementations

* Update LinkedList traverse function

* Update LinkedList reverse traversal and test cases

* Update LinkedList traversal tests
2018-09-08 11:55:51 +03:00
Oleksii Trekhleb
7dc60c96bf Add Fast Powering algorithm. 2018-09-04 18:27:38 +03:00
Oleksii Trekhleb
8116aa7cfb Refactor fast powering algorithm. 2018-09-04 17:35:48 +03:00
HatimLokhandwala
8676c1b9fe Adding math algorithm to compute power and its tests (#172)
* Adding math algorithm to compute power and its tests

* adding more test cases, updating compute power js

* Updating ReadMe for power computation algorithm
2018-09-04 17:21:09 +03:00
Oleksii Trekhleb
ea78fb6eaf Fix ShellSort README errors (issue #195). 2018-09-04 12:05:25 +03:00
Oleksii Trekhleb
788ff22c90 Minor refactoring of dpMaximumSubarray. 2018-09-04 11:39:43 +03:00
Oleksii Trekhleb
814fa773ca Add more test cases for finding max sub-array algorithm. 2018-09-04 11:35:13 +03:00
Kevin Brewer
2a2b5daa7d Simplify dpMaximumSubarray (#189)
* Simplify dpMaximumSubarray

* change var name from currentMaxSum to currentSum

* fix comment with old variable name
2018-09-04 09:47:05 +03:00
Kevin Brewer
6b0bacd993 clarify comments (#193) 2018-08-31 12:14:29 +03:00
Hanh D. TRAN
002d32a8cd Update LinkedList prepend pseudocode and append test (#188)
* Add LinkedList test

* Add pseudocode for LinkedList prepend
2018-08-30 08:43:21 +03:00
Jack Lee
872521fb03 Partial translation of Simplified Chinese (#185)
* init

* init

* init

* init
2018-08-30 08:30:24 +03:00
Oleksii Trekhleb
68af4fc165 Clean up Heaps. 2018-08-30 08:25:38 +03:00
Kevin Brewer
bc50fff2ee clean up Heap implementation (#184) 2018-08-30 08:11:14 +03:00
Oleksii Trekhleb
a8d7435b8d Fix LinkedList pseudo-code (issue #191). 2018-08-30 08:04:47 +03:00
Oleksii Trekhleb
af64d12a23 Add more unicode related tests to longestCommonSubstring algorithm. 2018-08-28 06:58:43 +03:00
DADDOU Mohamed El Amine
82ac89b16a fix longestCommonSubstring() to handle unicode characters (#129) (#176) 2018-08-28 06:56:44 +03:00
Klaus Sinani
e09d526785 Fix minor typo on segment-tree readme (#183) 2018-08-28 06:37:19 +03:00
Oleksii Trekhleb
b9d0d9ab38 Add isPowerOfTwo function. 2018-08-27 17:13:43 +03:00
Tapasweni Pathak
70b0e0a652 Add ifPowerOf2c (#155) 2018-08-27 16:59:43 +03:00
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
Oleksii Trekhleb
c96bbdf00e Code style fix. 2018-06-25 14:34:40 +03:00
m-maksyutin
88d038b5c8 Fix the findEdge method of the graph (#80)
* 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
2018-06-25 14:33:31 +03:00
Oleksii Trekhleb
89fb0e6239 Add Levenshtein Distance algorithm explanations. 2018-06-23 20:59:59 +03:00
Oleksii Trekhleb
a9502851f5 Update READMEs. 2018-06-23 13:21:07 +03:00