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
c3122e7fc7
fix: Type safety fixes for ComparableObject.
...
feat: Use extractComparable in the BST data structure to control key comparisons instead of directly passing a comparator. Use isReverse to control whether the tree is reversed instead of relying on the comparator.
Removed the unnecessary getNodeByKey method.chore: Support list configuration for performance testing.
2024-11-22 17:12:06 +13:00
Revone
476395ef72
chore: Add source map support for ESModule. Add a 'browser' field to package.json. Performance optimization of getRandomIntArray method
2024-11-16 23:07:53 +13:00
Revone
28ff30ea4b
feat: The binary trees support storing values in a Map and provides parameters for Map mode. #111 . Rename type definitions and parameter names to align with best practices.
2024-11-01 19:40:19 +13:00
Revone
7e45aaf609
style: Prettier version updated. Code style adhered to Prettier strictly.
2024-08-27 10:56:04 +12:00
Revone
3c26538c2e
release: 1.51.8
2024-01-25 10:55:59 +08:00
Revone
3fa7155c97
fix : #82 . refactor: Minor performance optimization, rewrite the _compare method within the Red-Black Tree. test: Change the test sequence in binary-tree-overall.test.
2024-01-19 17:13:25 +08:00
Revone
25e9f36577
feat: Remove the meaningless Tree data structure.
...
refactor: Adjust the logic of isRealNode for a slight performance improvement.
docs: table fixed
2024-01-16 11:26:43 +08:00
Revone
56f1fabfca
refactor: Renaming SENTINEL to NIL and placing the NIL node in the BinaryTree allows for direct equality checks in isNIL and isRealNode, avoiding excessive operations to improve performance. As a result, the performance of the get method in AVLTree has tripled.
2024-01-15 21:05:42 +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
1c2a70741b
test: RedBlackTree
2024-01-14 03:14:26 +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
1f8fc1487c
Refactor: Due to critical issues in the previous implementation of the Red-Black Tree, it has been deprecated and replaced with a new implementation of both the Red-Black Tree and TreeMultiMap.
2024-01-11 20:13:02 +08:00
Revone
f8832a04c0
refactor: Constrain the getter size() from the base class. Refactor some inappropriate performance tests.
...
feat: Add sorting capability to performance test reports.
2024-01-09 15:57:30 +08:00
Revone
a95567b3c4
release: 1.50.3
2024-01-07 22:32:39 +08:00
Revone
eaf8912746
docs: Verify the time and space complexity for each method.
...
feat: Add the cutRest method to Deque.
refactor: Update the cut method in Deque to support the isCutSelf parameter.
2024-01-04 16:28:17 +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
d57d6072c2
fix: Fix bug in BST.isBST to make it compatible with inverse BST.
...
refactor: Use KeyOrNodeOrEntry as the parameter type consistently in the binary tree data structure.
test: Remove unnecessary performance reports and refactor loop code to use single lines wherever possible.
2023-12-23 11:53:18 +08:00
Revone
dc6ef95f78
style: code base reformat
2023-12-21 10:26:45 +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
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
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
9a9571431c
feat: Add keys, values, and clone methods to all binary tree data structures.
2023-11-27 18:01:59 +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
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
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
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
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
7c6e5d3b1c
refactor: HashMap supports custom hash functions.
2023-11-20 13:03:39 +08:00
Revone
1e2013df5e
refactor: Eliminate unnecessary data structures. test: Add performance comparison tests with native Map and Set.
2023-11-20 09:51:34 +08:00
Revone
b7357def44
test: HashMap test case conducted on million data
2023-11-19 21:30:17 +08:00
Revone
cbf1d05064
refacor: If individual performance test, not to replace content in README.md
2023-11-19 21:26:04 +08:00
Revone
d761e79e4d
fix: Bug fix for 'resize', 'insertAt', and 'deleteAt'.
2023-11-17 18:44:14 +08:00
Revone
e7be7b559d
feat: Implemented Deque independently and conducted performance tests, and eliminated the redundant data structure ArrayDeque. Add performance test cases for DoublyLinkedList.
2023-11-17 16:11:31 +08:00
Revone
fa92ddfdaa
perf: Implemented a high-performance Heap. docs: Software Engineering Standard Form.
2023-11-17 10:47:13 +08:00
Revone
f9b6f313c6
feat: The performance report generator supports parameter filtering commands, which can be used to run specific tests individually. It generates individual performance comparison reports. Enrich the COMMANDS.md document.
2023-11-16 21:07:00 +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
c985317259
test: Added a switch to control whether to test the performance of competitors.
2023-11-11 09:59:11 +08:00