Commit Graph

254 Commits

Author SHA1 Message Date
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
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
f7ebddc82d Remove duplicated methods from Graph class. 2018-11-26 06:30:56 +02:00
catchme
fad170cfc8 fix typo error (#228) 2018-10-18 06:19:46 +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
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
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
Klaus Sinani
e09d526785 Fix minor typo on segment-tree readme (#183) 2018-08-28 06:37:19 +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
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
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
b0c9057cdb Fix pseudocode formatting. 2018-08-14 15:46:58 +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
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
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
Oleksii Trekhleb
305e30357c Add comments to HashTable hash function. 2018-07-29 08:28:03 +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
863dbdbac3 Fix issue #98. 2018-07-13 17:48:27 +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
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
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
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
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
a9502851f5 Update READMEs. 2018-06-23 13:21:07 +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
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
c3a961840d Fix BST removal method. 2018-06-13 06:39:18 +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
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
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
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
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