Commit Graph

726 Commits

Author SHA1 Message Date
Oleksii Trekhleb
b2d1ec83f0
Binary representation of floating-point numbers (#737)
* Add "Binary representation of floating point numbers" section.

* Adding a half-precision explanatory picture.

* Binary representation of the floating-point numbers.
2021-07-16 11:51:53 +02:00
Oleksii Trekhleb
6d2d8c9379 Testing Codecov integration without web-hooks. 2021-05-18 08:44:13 +02:00
Oleksii Trekhleb
8a24fbfac9 Adding more details on how to run the playground code to address the issue #705. 2021-05-14 09:56:18 +02:00
Oleksii Trekhleb
cb50e4e9f3 Add link to Spanish translation in Doubly-Linked list README. 2021-05-06 07:05:27 +02:00
CodingInvoker
22b323e6b1
update linkedlist comment (#687)
Co-authored-by: Jiachen Zhou <jiachen.zhou@rea-group.com>
Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2021-05-06 07:02:52 +02:00
Freivin Campbell
5ffab573ca
Create README.es-ES.md (#680)
new translation added
2021-05-06 07:00:10 +02:00
Coco Guerra
d38cecd2e7
Update README.es-ES.md (#704)
* Update README.es-ES.md

* Update README.es-ES.md
2021-05-06 06:43:28 +02:00
Oleksii Trekhleb
cfd9a630ff
Test that two images are identical for the Seam Carving algorithm. (#694)
* Test that two images are identical for the Seam Carving algorithm.

* Tune the Seam Carving tests.

* Tune the Seam Carving tests.

* Tune the Seam Carving tests.

* Tune the Seam Carving tests.
2021-04-21 07:39:58 +02:00
Oleksii Trekhleb
f0b246a521
Adding a Seam Carving algorithm with Dynamic Programming implementation. (#693)
* Adding a Seam Carving algorithm with Dynamic Programming implementation.

* Adding a Seam Carving algorithm with Dynamic Programming implementation.

* Adding a Seam Carving algorithm with Dynamic Programming implementation.

* Testing Husky integration.

* Testing Husky integration.
2021-04-20 17:47:33 +02:00
Oleksii Trekhleb
83357075c4 Add Chinese translation for Math sections. 2021-01-03 10:45:41 +01:00
董凯
848dc351f9
Add chinesre translation. (#615)
* Add chinesre translation of math/bits README.md

* Add chinese translation of math/fibonacii README.md

* Add chinesre translation of math/prime-factors README.md

* fix

* fix

Co-authored-by: zackdk <zackvvzackvv@gmail.com>
Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2021-01-03 10:42:12 +01:00
Austin Theriot
cf61af59c5
optimized for loop & corrected comments (#617)
The existing insertion sort implementation began by iterating from
0 until the end of the array, but it is only necessary to
iterate from 1 until the end of the array, since at the
0th index, there is nothing to compare to the left of
the element.

In order to complete this change, I also had to update the tests
to reflect the fact that the algorithm visits each index 1 less
time.

Finally, I corrected the grammar/wording of the comments.

Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2021-01-03 10:26:14 +01:00
Oleksii Trekhleb
1c1b244d97 Add dynamic programming version. 2020-12-23 17:19:53 +01:00
Oleksii Trekhleb
79cf9eb434 Add divide and conquer example: best time to buy and sell stocks. 2020-12-23 17:04:02 +01:00
Oleksii Trekhleb
4973392cb9 Add divide and conquer example: best time to buy and sell stocks. 2020-12-23 17:01:13 +01:00
Oleksii Trekhleb
4b6c601158 Add Spanish link for the Linked List README. 2020-12-20 20:18:12 +01:00
Oleksii Trekhleb
88cef5f548 Merge branch 'merge' of https://github.com/trekhleb/javascript-algorithms into merge 2020-12-20 20:16:48 +01:00
Javier Saviñon
148f9179c9
Linked List Spanish Traslation (#409)
* Linked List Spanish Traslation

* Rename the CI workflow file.

Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-20 20:16:35 +01:00
Oleksii Trekhleb
c44bb91ec4 Merge branch 'merge' of https://github.com/trekhleb/javascript-algorithms into merge 2020-12-20 20:09:37 +01:00
Yura Sherman
e076203590
Fix a grammar mistake (#396) 2020-12-20 20:09:09 +01:00
Go
f617569760
fix typo (#350) 2020-12-20 20:06:36 +01:00
Brandon Villa
fa1f930c99
Add missing step (#345) 2020-12-20 20:05:18 +01:00
Oleksii Trekhleb
86dea85d97 Merge branch 'merge' of https://github.com/trekhleb/javascript-algorithms into merge 2020-12-20 19:57:59 +01:00
Oleksii Trekhleb
cfba1d9954 Add Rail Fence Cipher. 2020-12-20 19:57:51 +01:00
Sagid M
2794445f95
Add the word "set" to avoid misinterpretation in description (#286)
* Add word to avoid misinterpretation

* Rename the CI workflow file.

Co-authored-by: Sagid Magomedov <sagid-m@yandex-team.ru>
Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-20 19:57:03 +01:00
João Pedro Raskopf
9641940fd7
Add rail fence cipher (#516)
* Add rail fence cipher encoder & decoder

* Add functions to encode & decode strings using the rail fence cipher method
* Add unit tests covering empty strings, pair & odd number of characters in the input string, n=3 & n=4
* Add a README.md for the algorithm
* Update root README.md to link to the new algorithm

* Rename the CI workflow file.

Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-20 18:40:22 +01:00
Oleksii Trekhleb
569fd95bd0 Simplify k-Means clustering algorithm. 2020-12-19 21:13:11 +01:00
Avi Agrawal
b7cd425ce9
Added kmeans clustering (#595)
* added kmeans

* added kmeans

* added kmeans

Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-19 19:36:08 +01:00
Oleksii Trekhleb
610f16fe20 Add Euclidean Distance algorithm. 2020-12-19 19:21:32 +01:00
Oleksii Trekhleb
2c81debb47 Add Matrices section with basic Matrix operations (multiplication, transposition, etc.) 2020-12-19 18:45:14 +01:00
Oleksii Trekhleb
e220450d7d Code style fixes. 2020-12-17 09:49:57 +01:00
lvzhenbang
536f75a52f
update desc (#371)
* update desc

* text error
2020-12-17 09:48:19 +01:00
Askhat Arslanov
431560a4e5
Translate Linked List Traversal to Russian (#283)
Co-authored-by: Askhat <caelestes961@gmail.com>
2020-12-17 09:40:05 +01:00
Oleg Maslov
07c21083d6
Add missing LinkedList tests (#151)
Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-17 09:36:00 +01:00
Oleksii Trekhleb
52fbc8a80f Add Hill Cipher. 2020-12-17 08:58:26 +01:00
Oleksii Trekhleb
d899ae1484 Add more details and example to Hill cipher README. 2020-12-17 08:07:26 +01:00
Sherlyn
9929ab7fc1
add hillCipher at cryptography section (#424)
* add hillCipher.js and its test case first commit

* add README.md

* update style

Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-17 07:26:21 +01:00
Oleksii Trekhleb
4623bb906f Add k-nearest neighbors algorithm. 2020-12-16 08:07:08 +01:00
Oleksii Trekhleb
b13291df62 Trim trailing whitespaces. 2020-12-16 06:49:10 +01:00
Avi Agrawal
871d20d868
Adding K Nearest Neighbor to ML folder in algorithms with README and tests (#592)
* Updated KNN and README

* Update README.md

* new

* new

* updated tests

* updated knn coverage
2020-12-16 06:44:56 +01:00
Oleksii Trekhleb
802557f1ac Update translation for Bubble Sort. 2020-12-15 18:56:09 +01:00
José Vinícius Lacerda de Arruda
82cf0e6d58
Creating a explanation of Bubblesort in portuguese (#423)
Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-15 18:52:43 +01:00
bhaltair
ae225741fa
Update README.zh-CN.md (#439) 2020-12-15 18:44:44 +01:00
Oleksii Trekhleb
1b0e27ab86 Add getValues() method to HashTable and update LinkedList READMEs. 2020-12-11 09:14:48 +01:00
JD Medina
46daaf51c5
Modify HashTable (#447)
Add a getValues() method to the HashTable data structure
2020-12-11 08:54:37 +01:00
Eugene Sinitsyn
c3d22956b7
Fix typo (#459) 2020-12-11 08:51:13 +01:00
Donghoon Song
6e95b0cee7
Update README.ko-KR.md (#466) 2020-12-11 08:48:57 +01:00
Hanseung Yoo
97dd96aa75
Add doubly-linked-list doc in Korean (#449) 2020-12-11 08:45:54 +01:00
Oleksii Trekhleb
30ef6a30e1 Add prime factors calculation. 2020-12-11 08:37:06 +01:00
Anmol Gomra
827906c140
added prime-factors algo in src/algorithms/math (#532) 2020-12-10 17:54:11 +01:00
vladimirschneider
498ab10b1b
Repeated Math operation (#584)
Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-12-10 17:50:47 +01:00
Xiaoming Fu
8a12653ac3
Fix typo in comment (#540)
Address issue #528
2020-12-09 08:13:05 +01:00
Brian Tomlin
ebd6ffd2c0
Fix typo in tree BFS testcase name (#542) 2020-12-09 08:11:03 +01:00
Oleksii Trekhleb
9751670a06 Use text formulas instead of images since images a not loading sometimes. 2020-12-08 09:56:46 +01:00
Oleksii Trekhleb
21400e36fc Simplify Horner's Method code and add the link to it in main READMe. 2020-12-08 09:52:37 +01:00
Matheus Bonavite dos Reis Cardoso
fb6a1fae0a
Add Horner's Method (#575)
* Add Horner's Method

* Update README.md

Co-authored-by: matheus <matheus.cardoso@sydle.com>
2020-12-08 08:59:32 +01:00
Oleksii Trekhleb
2c74ced8af Fix ESLint issues with MergeSort. 2020-11-28 16:43:29 +01:00
Austin Theriot
83978e9d2d
refactored merge sort to use array pointers instead of .shift() (#581) 2020-11-28 16:35:08 +01:00
Oleksii Trekhleb
477f30b0bd Fix markup. 2020-10-05 22:26:24 +03:00
Loïc TRUCHOT
d6b8dd394a
Chore(math-translation-FR-fr): a pack of translations for the math section (#558)
* chore(factorial): translation fr-FR

* feat(math-translation-fr-FR): fast powering

* feat(math-translation-fr-FR): fibonacci numbers

* chore(math-translation-fr-FR): bits

* chore(math-translation-fr-FR): complex number

* chore(math-translation-fr-FR): euclidean algorithm

* chore(math-translation-fr-FR): fibonacci number

* chore(math-translation-fr-FR): fourier transform

* chore(math-translation-fr-FR): fourier transform WIP

* chore(math-translation-fr-FR): fourier transform done

* chore(math-translation-fr-FR): fourier transform in menu
2020-10-05 22:13:47 +03:00
Oleksii Trekhleb
07bc4a4b97 Add more test cases for countSetBits(). 2020-08-21 07:29:58 +02:00
Ly
c093fe4224
fix: three errors (#487) 2020-08-21 07:23:44 +02:00
Alexey Onikov
be185ac9af
Fix infinity loop with negative numbers (#502)
* Update countSetBits.js

* Update countSetBits.test.js
2020-08-21 07:21:20 +02:00
Oleg Khobotov
5a3806ff81
Update README.ru-RU.md (#530)
There is an error in deletion complexity
2020-08-21 07:08:27 +02:00
Oleksii Trekhleb
929b210b8e Minor fixes. 2020-08-09 14:16:42 +02:00
Ly
2444b9740b
fix: 0->ø (#486) 2020-08-09 14:13:36 +02:00
Boardens
95641c8aaf
Add french translation for some chapters (#520)
* Create README.fr-FR.md

* Translate to french "Priority Queue" module

* Add english lang redirection

* Update README.fr-FR.md

* Update README.fr-FR.md

* Add French lang version redir

* Create README.fr-FR.md

* Added french translation for Queue

* Added French lang redir

* Update README.md

* Create README.fr-FR.md

* Add french translation

* Index french translation

* Create README.fr-FR.md

* Add french translation

* Index french translation

* Fix translation

* Create README.fr-FR.md

* Add french translation

* Index french translation

* Add wikipedia french reference

* Add french wikipedia reference
2020-08-09 14:10:15 +02:00
Oleksii Trekhleb
00242413a5 Refactor a Caesar Cipher algorithm. 2020-08-08 12:54:56 +02:00
gifted-s
bd7475ee19
Caeser cipher (#517)
* added ceaserCipher algorithm

* added ceaserCipher algorithm

* fixed a typo
2020-08-08 11:51:22 +02:00
Chao Zhang
e54a3df231
Fix README typo (#524) 2020-08-08 11:45:15 +02:00
Oleksii Trekhleb
f42433e51e Fix ESLint issues. 2020-07-26 13:23:36 +02:00
vladimirschneider
2ffb7b7abf
Swap as destructuring assignment (#497) 2020-07-26 13:21:13 +02:00
Suraj Jadhav
194f2133af
Adding inequality conditions (#489)
A quick fix to add inequality conditions wherever needed.

Co-authored-by: Oleksii Trekhleb <trehleb@gmail.com>
2020-07-26 13:19:28 +02:00
Oleksii Trekhleb
63f5a27152 Upgrade dependencies and fix ESLint issues. 2020-07-26 13:06:15 +02:00
Marcelo-Rodrigues
b3b8d4d3e8
Fix portuguese translation of graph on README (#503) 2020-07-15 06:46:31 +02:00
Oleksii Trekhleb
dc1047df72
Upgrade dependencies to latest versions. (#367) 2019-06-25 06:56:44 +02:00
Oleksii Trekhleb
e954d6d0f3 pt-BR translations fixes. 2019-04-16 18:05:39 +03:00
Marcos Gonçalves
ed99f9d216 Adds Portuguese (pt-BR) translation (#340)
* create portuguese translations

* renames `Lista Ligada` to `Lista Encadeada`

* revert changes on package-lock.json
2019-04-16 17:47:04 +03:00
Oleksii Trekhleb
1520533d11 Fix issue #315. 2019-04-12 09:02:03 +03:00
Oleksii Trekhleb
2206158b57 Update image source for Levenshtein distance. 2019-04-12 08:44:14 +03:00
nirvanarsc
d790aa56a4 Update README.md (#332)
Fix for https://github.com/trekhleb/javascript-algorithms/issues/311
2019-04-12 08:41:26 +03:00
arnold
d18dcd2e42 fix README.md (#333) 2019-04-12 08:36:11 +03:00
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