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
Oleksii Trekhleb
619c58ec87
Update READMEs.
2018-06-22 15:34:32 +03:00
Oleksii Trekhleb
b65a992452
Update READMEs.
2018-06-22 15:04:28 +03:00
Amjad Ali
e53f5f909d
Added Complexity of Each Algorithm in Sorting/ directory. ( #76 )
...
* Added Complexity to Bubble Sort README.md
* Added Complexity to Counting-Sort README.md
* Italicized n in Bubble Sort README.md
* Added Complexity to Heap Sort README.md
* Added Complexity to Insertion Sort README.md
* Added Complexity to Merge Sort README.md
* Added Complexity to Quick Sort README.md
* Added Complexity to Radix Sort README.md
* Added Complexity to Selection Sort README.md
* Added Complexity to SHell Sort README.md
2018-06-22 14:54:40 +03:00
Oleksii Trekhleb
831ce89a45
Update README for integer partition.
2018-06-22 14:50:38 +03:00
Nnadozie Okeke
16b6ea506a
Corrected explanations and included an example ( #75 )
2018-06-22 14:31:57 +03:00
Oleksii Trekhleb
2334583635
Add setValue and nodeCopy methods to binary tree node.
2018-06-22 08:22:12 +03:00
m-maksyutin
bd5a16be71
Fix BST removal method ( #74 )
...
* Fix LinkedList
* Fix the prepend method for the LinkedList
* Fix the remove method for the MinHeap
* Correct a comment
* Fix BST removal method
2018-06-22 07:57:52 +03:00
Oleksii Trekhleb
e558231474
Add comments.
2018-06-21 17:59:31 +03:00
Oleksii Trekhleb
81d17bc4f9
Add comments.
2018-06-21 17:48:35 +03:00
Oleksii Trekhleb
5bdcbb397d
Code style fixes.
2018-06-21 16:59:20 +03:00
hariv
9e210ae560
Z algorithm implementation ( #77 )
...
* Implemented Z algorithm
* Fixed bugs in implementation and added tests
* Added README explaining z algorithm
2018-06-21 16:42:13 +03:00
m-maksyutin
9311735867
Correct a comment ( #66 )
...
* Fix LinkedList
* Fix the prepend method for the LinkedList
* Fix the remove method for the MinHeap
* Correct a comment
2018-06-18 16:30:30 +03:00
Oleksii Trekhleb
98092ee43f
Code style fixes.
2018-06-18 15:57:45 +03:00
Sina Sharafzadeh
8c206a9976
fix unbound knapsack problem with items more than 1(default value) ( #73 )
2018-06-18 15:50:02 +03:00
Oleksii Trekhleb
d154015cda
Code style fixes.
2018-06-14 07:59:47 +03:00
Oleksii Trekhleb
19f4cc70d3
Add recursive way of generating permutations with repetitions.
2018-06-13 08:15:21 +03:00
Matt Mapplebeck
b0c55ec817
add recursive solution to permutations with repetitions problem ( #52 )
...
* add recursive solution to permutations with repetitions problem
* fix untested function, failing test
* add comments
2018-06-13 08:03:56 +03:00
Oleksii Trekhleb
8d3f83cfb7
Simplify combineWithoutRepetition algorithm.
2018-06-13 07:21:57 +03:00
Oleksii Trekhleb
c3a961840d
Fix BST removal method.
2018-06-13 06:39:18 +03:00
Felix Rilling
5734e0a43e
Fix typos ( #59 )
...
* Fixed typo in the word 'independant'
* Fixed typo in the word 'subsequnce'
* Fixed typo in the word 'icecream'
* Fixed typo in the word 'subsequnce' in shortestCommonSubsequence
* Fixed typo in the word 'depected'
* Fixed typo in the word 'paramaters'
2018-06-12 17:46:40 +03:00
Oleksii Trekhleb
c536aa2c51
Refactor liuHui.
2018-06-12 17:29:57 +03:00
Oleksii Trekhleb
1e2fdc6943
Refactor README.
2018-06-12 15:32:56 +03:00
mantou
7dc9b80f62
feat: Add Liu Hui's π algorithm ( #61 )
2018-06-12 14:54:00 +03:00
Oleksii Trekhleb
9de6bc7de3
Add more tests.
2018-06-08 16:54:07 +03:00
Oleksii Trekhleb
5ac85a230c
Update READMEs.
2018-06-08 15:38:36 +03:00
Oleksii Trekhleb
294bd2acb7
Update READMEs.
2018-06-06 07:54:38 +03:00
Oleksii Trekhleb
00fbba5438
Update tests.
2018-06-06 07:49:12 +03:00
Oleksii Trekhleb
183dade079
Update Fenwick Tree readme and do code style fixes.
2018-06-06 07:41:28 +03:00
Christopher Samuel
1a4fe11a80
Added Binary Indexed Tree / Fenwick Tree Implementation ( #51 )
...
* added fenwick tree implementation
* added fenwick tree implementation
2018-06-06 06:25:31 +03:00
Oleksii Trekhleb
a1060c2a94
Merge branch 'master' of https://github.com/trekhleb/javascript-algorithms
2018-06-05 21:50:44 +03:00
Oleksii Trekhleb
6c892c4b2f
Fix bug with primality test.
2018-06-05 21:50:08 +03:00
m-maksyutin
38688f25c5
Fix the remove method for the MinHeap ( #50 )
...
* Fix LinkedList
* Fix the prepend method for the LinkedList
* Fix the remove method for the MinHeap
2018-06-05 16:17:14 +03:00
Oleksii Trekhleb
9f83862212
Update README for segment tree.
2018-06-05 08:47:52 +03:00
Oleksii Trekhleb
434a5649cb
Refactor segment tree implementation.
2018-06-05 08:45:00 +03:00
Oleksii Trekhleb
5784a4a95b
Merge branch 'master' into segment-tree
2018-06-05 06:12:30 +03:00
Oleksii Trekhleb
74b93d36cb
Add isPowerOfTwo functions.
2018-06-04 20:42:22 +03:00
Oleksii Trekhleb
c7610d58b1
Update README.
2018-06-04 06:57:33 +03:00
Vignesh Manoharan
2e5fd8d583
Segment Tree implementation ( #45 )
...
* added segment tree implementation - supports custom operation
* added readme for segment tree
2018-06-04 06:32:34 +03:00
m-maksyutin
beb8501aca
Fix the prepend method for the LinkedList ( #47 )
...
* Fix LinkedList
* Fix the prepend method for the LinkedList
2018-06-04 05:21:42 +03:00
Oleksii Trekhleb
91d4714d19
Code styling fixes for Sieve of Eratosthenes.
2018-06-03 09:34:48 +03:00
Juan Pablo Valencia
943f83492a
Adding Sieve of Eratosthenes ( #46 )
...
* Adding Sieve of Eratosthenes
* Typo
2018-06-03 09:25:15 +03:00
Oleksii Trekhleb
d2b8eabcf4
Update READMEs.
2018-06-02 22:21:59 +03:00
Oleksii Trekhleb
90b56bc3d3
Fix issue #37 with AVL tree.
2018-06-02 22:11:01 +03:00
Oleksii Trekhleb
924066bb0c
Do minor optimisations to factorial function.
2018-06-02 09:40:32 +03:00
Oleksii Trekhleb
88bd8d7044
Add JSdocs for fibonacci.
2018-06-02 09:32:50 +03:00
Oliver Hepworth-Bell
d267d72524
Added fibonacci sequence as well as fibonacci nth, renamed functions accordingly ( #36 )
2018-06-02 09:31:09 +03:00
m-maksyutin
a63bc67cf4
Fix LinkedList ( #42 )
2018-06-02 09:23:55 +03:00
Oleksii Trekhleb
0edb1525ea
Throw error on remove from red-black tree.
2018-06-02 08:51:45 +03:00
Oleksii Trekhleb
26d6b7877d
Improve test-coverage for red-black tree.
2018-06-02 08:24:31 +03:00
Oleksii Trekhleb
19789c6a94
Add red-black tree.
2018-06-02 08:15:40 +03:00
Oleksii Trekhleb
48f7ea1ad5
Add one more test for BST.
2018-06-01 10:52:23 +03:00
Oleksii Trekhleb
4132522d4a
Set up node comparator for BST.
2018-06-01 08:28:36 +03:00
Oleksii Trekhleb
02299b77e6
Add uncle property to binary tree node.
2018-06-01 05:16:07 +03:00
Oleksii Trekhleb
e6de25ecb3
Use HashTable in TrieNode.
2018-05-31 21:37:13 +03:00
Oleksii Trekhleb
5b3de38cca
Update hash table methods.
2018-05-31 21:35:53 +03:00
Oleksii Trekhleb
ecd8d22fc6
Add new hash table methods.
2018-05-31 21:30:44 +03:00
Oleksii Trekhleb
f04626bc5c
Return removed nodes in BST.
2018-05-31 08:29:59 +03:00
Oleksii Trekhleb
7a4265403c
Use Map for node meta data.
2018-05-31 07:59:20 +03:00
Oleksii Trekhleb
e572de63cb
Create getters and setters for meta data in binary tree node.
2018-05-31 07:37:31 +03:00
Oleksii Trekhleb
02d7abcf65
Make it possible to insert meta information to bst node.
2018-05-31 07:16:35 +03:00
Oleksii Trekhleb
33ac110cce
Make it possible to attach meta information to binary tree node.
2018-05-31 07:03:33 +03:00
Oleksii Trekhleb
c18fd63a53
Fix naming in binary search tree test.
2018-05-31 06:23:51 +03:00
Oleksii Trekhleb
b62d9a43b4
Clean up in binary search tree constructor.
2018-05-30 08:18:45 +03:00
Oleksii Trekhleb
b7e27b2f07
Remove parent parameter from binary tree node constructor to simplify syntax.
2018-05-30 08:16:41 +03:00
Oleksii Trekhleb
fcc546347d
Code style fixes.
2018-05-30 08:00:25 +03:00
Oleksii Trekhleb
8d868ae582
Code style fixes.
2018-05-30 07:47:49 +03:00
Oleksii Trekhleb
797a6f28a3
Make it possible to use objects as a values for binary search tree nodes.
2018-05-30 07:43:39 +03:00
Oleksii Trekhleb
3ae9c40416
Test that it is possible to use objects and binary tree node values.
2018-05-30 07:19:48 +03:00
Oleksii Trekhleb
625217a9c2
Code style fixes.
2018-05-29 11:19:08 +03:00
Oleksii Trekhleb
caec97e562
Add Radix Sort illustration.
2018-05-29 09:43:23 +03:00
Oleksii Trekhleb
afd5617144
Code style fixes for RadixSort.
2018-05-29 09:01:16 +03:00
Robert Taussig
71985337b5
Radix sort ( #28 )
...
* Add in-place sort to QuickSort.js
* Fix linting errors and clean up comments
* Change implementation to address lint errors
* Trailing space and undefined variable
* Create own class for in-place quicksort and use tests
* Add trailing space at end of file
* Fix placement of visitedCallback, explain itial destructuring
* Implement Radix Sort
Remove excess line
Reorganize RadixSort of match structure of other classes
Write tests for RadixSort and additional test constants
Create README
Update main readme to include radix sort
2018-05-29 07:38:19 +02:00
Oleksii Trekhleb
0c1f6851d5
Add counting sort.
2018-05-29 07:29:28 +03:00
Cyril Auburtin
b1a613e03e
Use Map for TrieNode children ( #27 )
2018-05-29 05:13:12 +02:00
Oleksii Trekhleb
30ae3230d1
Do some code formatting on QuickSort algorithm.
2018-05-27 22:23:40 +02:00
Robert Taussig
bf5d7b338c
Add in-place sort to QuickSort.js ( #16 )
...
* Add in-place sort to QuickSort.js
* Fix linting errors and clean up comments
* Change implementation to address lint errors
* Trailing space and undefined variable
* Create own class for in-place quicksort and use tests
* Add trailing space at end of file
* Fix placement of visitedCallback, explain itial destructuring
2018-05-27 23:11:13 +03:00
Federico Bozzini
f93d12d5dd
Added missing return type ( #23 )
2018-05-27 18:20:04 +03:00
Oleksii Trekhleb
2e3860f357
Add linear search.
2018-05-26 01:01:08 +03:00
ak4522912
7ed425ed3a
Added Linear Search ( #20 )
...
Added algorithm for the basic and useful linear search
2018-05-26 00:43:50 +03:00
Oleksii Trekhleb
f696d028ba
Merge branch 'master' of https://github.com/trekhleb/javascript-algorithms
2018-05-24 16:48:41 +03:00
Oleksii Trekhleb
5503cced48
Don't treat 1 as prime number.
2018-05-24 16:48:10 +03:00
Tomáš Hübelbauer
41d11f2b6e
Fix a typo
2018-05-24 13:00:49 +02:00
Albert Still
56b42ae79c
Merge branch 'master' into improve-bubble-sort
2018-05-24 16:12:13 +10:00
Oleksii Trekhleb
114748b876
Refactor peek function in Stack.
2018-05-24 09:10:48 +03:00