Commit graph

62 commits

Author SHA1 Message Date
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