Commit Graph

522 Commits

Author SHA1 Message Date
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