Commit graph

224 commits

Author SHA1 Message Date
Revone
dc6ef95f78 style: code base reformat 2023-12-21 10:26:45 +08:00
Revone
bc000105d8 release: 1.49.4 2023-12-21 10:08:59 +08:00
Revone
c3db558607 Refactor: The default callback function now supports returning values for null and undefined nodes with undefined keys. The deleteVertex method in AbstractGraph has been made abstract. Unnecessary magnitude variables have been removed from the magnitude function. fix: In directed and undirected graphs, the deleteVertex method now removes edges from adjacent nodes when deleting a vertex. 2023-12-21 10:01:04 +08:00
Revone
bbfa64fc64 fix: Fix the bug in the getCycles method. refactor: Rename some variables. 2023-12-19 12:15:44 +08:00
Revone
3e97e806ba refactor: Unify the return types of all methods and align them with Java, extract the print and hasValue methods to base class. This will make the code more consistent and easier to understand. 2023-12-12 21:14:17 +08:00
Revone
61369adbdd test: Refine the test cases. 2023-12-12 10:13:34 +08:00
Revone
4d88405ac1 release: 1.49.1 2023-12-12 10:05:36 +08:00
Revone
e113a99b26 fix: bug fixed #58, DirectedGraph.getCycles returns an inexisting cycle. feat: hasValue method for HashMap. 2023-12-12 09:57:30 +08:00
Revone
9d4228c9fe refactor: Represent the optional parameters in the dijkstraWithoutHeap and dijkstra methods using default arguments. Use the Heap data structure instead of PriorityQueue. 2023-12-11 09:41:24 +08:00
Revone
93201bddba perf: The add method of BinaryTree doesn't need to check for existence first, it can detect and add in a single traversal. Feat: Discard the ObjectDeque data structure. test: Increased test coverage for Deque and Queue. 2023-12-08 19:54:13 +08:00
Revone
c3b79b70f6 docs: Add a GITHUB stars badge. Adjust the order of the table. Test: Specify the type of binary tree constructor. 2023-12-08 10:07:51 +08:00
Revone
a02a9a94d2 refactor: Rewrite the lastKey method. The BinaryTree.add method filters out duplicate additions. Rename popLast and popFirst to pollLast and pollFirst. 2023-12-07 19:34:20 +08:00
Revone
aff29b3568 docs: Why use our data structures. 2023-12-07 15:37:50 +08:00
Revone
d038e03ef2 docs: Chinese version README.md 2023-12-07 14:03:58 +08:00
Revone
a0a9ed2f50 docs: Chinese version README.md 2023-12-07 11:40:01 +08:00
Revone
1c8324147f feat: The addMany method in binary tree data structures supports both addMany(keys, values) and addMany(entries). 2023-12-07 10:19:17 +08:00
Revone
1b1d5c6669 feat: The add method of the binary tree is compatible with the multi-parameter mode of add(key, value), and it is also compatible with the entry method. 2023-12-07 09:16:25 +08:00
Revone
f56542a07a refactor: renamed variables 2023-12-06 11:32:04 +08:00
Revone
ce99f7988e release: 1.48.4 2023-12-06 10:42:12 +08:00
Revone
6cc250606b fix: bug fix for #51 . Removing a vertex from a DirectedGraph doesn't remove it's edges 2023-12-06 10:36:00 +08:00
Revone
241cb26a6f fix: bug fix for #52 2023-12-06 09:18:23 +08:00
Revone
8a24a6d7a4 refactor: The binary tree data structure supports custom types for keys 2023-12-04 21:58:41 +08:00
Revone
7f5eb6cb70 refactor: Extract all methods such as 'some', 'every', 'entries', 'keys', 'values', 'forEach', 'reduce' into the base classes 'IterableElementBase' and 'IterablePairBase'. 2023-12-02 22:15:18 +08:00
Revone
87ea490458 feat: print method has been added in HashMap. chore: reformated HashMap test. docs: high-performance HashMap benchmark 2023-11-30 10:20:12 +08:00
Revone
65949b7d19 feat: Reimplement a more efficient HashMap and correctly rename the original HashMap as LinkedHashMap. 2023-11-30 09:59:01 +08:00
Revone
9a9571431c feat: Add keys, values, and clone methods to all binary tree data structures. 2023-11-27 18:01:59 +08:00
Revone
fe0e390b2b fix: ci type error fixed 2023-11-27 13:59:26 +08:00
Revone
20550fb718 feat: Implement the [Symbol.iterator], forEach, filter, map, and reduce methods for Graph, specifically targeting the nodes. fix: type error fixed 2023-11-27 11:24:23 +08:00
Revone
a71b223226 docs: Add print results for free conversion between data structures. 2023-11-27 10:12:15 +08:00
Revone
6694f98e67 refactor: In SegmentTree data structure, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist. 2023-11-27 09:42:49 +08:00
Revone
86200435e8 refactor: In Stack data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist. 2023-11-27 09:38:03 +08:00
Revone
e89509eb34 refactor: In Linked List data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist. 2023-11-27 09:31:11 +08:00
Revone
7da4f8add9 fix: In Graph data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist. 2023-11-26 20:13:34 +08:00
Revone
f3df66eef3 refactor: In Graph data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist. 2023-11-26 20:11:29 +08:00
Revone
3dc0454c24 docs: Integration tests and documentation for free conversion between data structures. 2023-11-25 22:49:54 +08:00
Revone
f9f9df81f5 feat: Perfectly implement fast conversion between data structures. Implement a getter size for Trie. docs: Add comments to the 'add' and 'addMany' methods of all binary tree data structures. 2023-11-25 22:32:09 +08:00
Revone
76db084bda refactor: Explicitly call the super.addMany method. chore: reformat project configs 2023-11-25 20:59:34 +08:00
Revone
b099b759e8 refactor: The strategy of all binary tree data structures is to replace a node only when the same node is added. 2023-11-25 20:40:11 +08:00
Revone
18b895cb4c refactor: The parameters for the add and addMany methods in all binary tree data structures have been changed to the entry style, and the first test has passed. 2023-11-25 14:38:32 +08:00
Revone
451f6c5e31 release: 1.47.6 2023-11-24 08:49:18 +08:00
Revone
4930f87bcd feat: Add an 'elements' parameter to the constructors of all binary tree data structures to accept Iterable types. 2023-11-23 21:43:45 +08:00
Revone
8f9eb82bfd feat: To support conversion between data structures, Heap, PriorityQueue, Queue, Deque, SinglyLinkedList, DoublyLinkedList, and Stack have all added an 'elements' parameter for initializing the elements of the data structure. 2023-11-23 18:40:30 +08:00
Revone
5cf88d098e feat: All data structures except Graph have implemented *[Symbol.iterator], forEach, filter, map, reduce methods. 2023-11-23 13:19:13 +08:00
Revone
9a430fdbc6 docs: Binary Tree print method 2023-11-22 21:29:44 +08:00
Revone
a41e222481 feat: Implement forEach, filter, map, reduce, and [Symbol.iterator] methods for all binary tree data structures 2023-11-22 17:18:37 +08:00
Revone
01b969edca refactor: rename NIL of RedBlackTree to Sentinel 2023-11-21 17:44:22 +08:00
Revone
54c74f9af6 feat: The print method supports switches for empty nodes and guardian nodes. refactor: It eliminates some unnecessary type definitions. 2023-11-21 17:30:57 +08:00
Revone
7e3aeb8d2a chore: reformat codebase 2023-11-20 19:27:25 +08:00
Revone
d6e186a884 chore: To avoid sacrificing performance, UMD modules use ES6 style. 2023-11-20 19:24:53 +08:00
Revone
92552da31c fix: binary tree print bug fixed. test: integration test of rb-tree 2023-11-20 17:30:55 +08:00