Revone
b16559bc54
feat: Implemented correct TreeMultiMap and AVLTreeMultiMap. Removed support for Raw parameters in the add and delete methods, #115 .
...
fix: Reimplemented the original TreeMultiMap and AVLTreeMultiMap as two new data structures: TreeCounter and AVLTreeCounter, #108 .
style: Code cleanup, such as removing unnecessary comments.
docs: Fixed some time complexity and space complexity.
chore: Changed the ESModules build directory to the standard dist/ems.
2024-11-30 13:16:46 +13:00
Revone
6dc64dbb53
fix: Discard the awkward type-safe implementation in the binary tree data structure where subclasses need to pass the node type and tree type back to the parent class.
2024-11-28 19:37:51 +13:00
Revone
1a1ea21444
fix: Adjust type safety for the map method of all binary trees, ensuring it no longer returns the TREE type to its parent class and limiting Node type nesting to a maximum of 10 levels. Fix the issue with RedBlackTree objects being incorrectly compared when used as keys. Rename extractComparable to specificComparable. Correct the order of key and value in callback functions for the map and filter methods.
2024-11-25 01:10:33 +13:00
Revone
5992ae5d0d
release: v1.52.8 wiht ci flow fixed
2024-10-31 09:41:03 +13:00
Revone
fc0d157295
refactor: Test coverage increased to 95.63%.
...
Upgraded all dependencies.
Added a toVisual method while retaining the print method.
Replaced all short-circuit evaluations with logical expressions.
2024-10-30 15:30:28 +13:00
Revone
aece11bd01
release: v1.52.6
2024-10-29 17:27:40 +13:00
Revone
7e45aaf609
style: Prettier version updated. Code style adhered to Prettier strictly.
2024-08-27 10:56:04 +12:00
Revone
c2f98f851b
release: 1.51.9
2024-01-26 18:26:40 +08:00
Revone
02d71a23ba
Refactor: All binary tree data structures now support the toEntryFn for extracting key and value from raw data at once, avoiding users from having to traverse data multiple times, thus improving performance. Chore: Explicitly use the override keyword.
2024-01-26 18:20:15 +08:00
Revone
3c26538c2e
release: 1.51.8
2024-01-25 10:55:59 +08:00
Revone
89dadfccc2
Refactor: Remove the unnecessary design of the extractor in the Binary Search Tree (BST). Utilize 1, -1, and 0 to replace the original comparison results GT, LT, and EQ.
2024-01-25 09:38:03 +08:00
Revone
1303aba070
refactor: Use Comparable type constraint for the key in the binary tree to improve comparator performance.
2024-01-24 18:38:34 +08:00
Revone
9915ce9a0d
Refactor: Rename _defaultOneParamCallback to _DEFAULT_CALLBACK. Adopt early return code style in the ensureNode method. Rename some internal recursive method names.
2024-01-15 12:12:01 +08:00
Revone
46cdf2b668
release: 1.50.9
2024-01-14 20:57:07 +08:00
Revone
76df347da5
efactor: completely eliminate the use of enumerations
2024-01-14 19:49:50 +08:00
Revone
a11c104dff
refactor: Replace all enumerations with union types for significant performance improvements in BST, AVLTree, and RedBlackTree.
2024-01-14 03:04:07 +08:00
Revone
465744c2ec
feat: Replace the AVLTree with a Red-Black Tree to implement TreeMultiMap, preserving the implementation of TreeMultiMap using AVLTree and renaming it as AVLTreeMultiMap.
2024-01-08 22:22:41 +08:00
Revone
baf1be4035
release: 1.50.0. docs: traversal methods
2023-12-29 11:24:25 +08:00
Revone
34d4abd9e6
fix : #38 Removed includeNull parameter from traversal methods.
...
feat: Removed unnecessary methods isNotNodeInstance and subTreeTraverse.
refactor: Organized the overloads of traversal methods.
2023-12-29 11:15:19 +08:00
Revone
eb590d6c27
feat: Remove support for the 'variant' option parameter in Red-Black Tree, meaning no support for reverse Red-Black Tree.
...
fix: Fix bug in the return value of the Red-Black Tree delete method.
test: Test the clone methods of all the binary tree data structures.
2023-12-25 10:56:04 +08:00
Revone
2247316d16
refactor: Remove the _addTo method from BinaryTree and TreeMultiMap.
...
feat: Reimplement Matrix.
docs: Use typedoc.json configuration to only output class documentation.
2023-12-22 19:59:38 +08:00
Revone
dc6ef95f78
style: code base reformat
2023-12-21 10:26:45 +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
ce99f7988e
release: 1.48.4
2023-12-06 10:42:12 +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
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
76db084bda
refactor: Explicitly call the super.addMany method. chore: reformat project configs
2023-11-25 20:59:34 +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
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
Revone
be6ad5473b
style: Change ESLint configuration from error type to warning type. Format the code.
2023-11-16 11:55:40 +08:00
Revone
dd2701dab7
style: reformated codebase
2023-11-16 10:14:14 +08:00
Revone
d71a1eb2bc
fix: Removed unused enums. style: Beautified text color output of the performance report generator console.
2023-11-14 21:41:20 +08:00
Revone
8f1f6d6f52
style: Try to synchronize Prettier with the coding style of the IDE.
2023-11-13 22:27:29 +08:00
Revone
1064ad4a58
style: reformat code with IDE
2023-11-13 13:07:28 +08:00
Revone
55ddc661eb
test: Compare performance with other libraries.
2023-11-13 12:50:33 +08:00
Revone
649101ebe0
release: v 1.43.1
2023-11-13 00:03:42 +08:00
Revone
cef8b04a9f
chore: Add comments for the time and space complexity of all methods for the BinaryTree.
2023-11-10 11:01:49 +08:00
Revone
68aa49f9b1
[project] Decouple integration testing from the CI workflow.
2023-11-01 18:19:49 +08:00
Revone
10bbcffcef
[pkg] v1.40.0 published
2023-10-31 11:22:21 +08:00
Revone
121516f303
[core] Rename all 'val' variables to 'value'.
2023-10-30 20:27:08 +08:00