Commit graph

602 commits

Author SHA1 Message Date
Revone
670225e775 fix: Fix the issue where an extra array layer was processed for entries during TreeMultiMap instantiation.
feat: Add support for  configuration in TreeMultiMap and AVLTreeMultiMap.
docs: Add example code for a game leaderboard using TreeMultiMap.
2024-12-03 11:47:32 +13:00
Revone
ae42526b91 release: v1.54.3 2024-12-02 20:36:27 +13:00
Revone
a008a33a30 style: Utilize the built-in _dfs method across all binary tree data structures to optimize the search method.
feat: The search and rangeSearch methods in binary trees now default to in-order traversal for producing ordered results.
docs: Add sample code for AVLTree. Explicitly document method parameter types for all binary tree data structures.
2024-12-02 20:35:46 +13:00
Revone
b759eecf59 feat: Allow BinaryTree to support adding duplicate keys. docs: BinaryTree 2024-12-02 14:32:43 +13:00
Revone
a19080bb53 docs: playground project added 2024-11-30 21:53:27 +13:00
Revone
116324610d docs: playground project added 2024-11-30 21:50:45 +13:00
Revone
dd27393049 fix: Remove export restrictions in package.json to enable ESModules to work properly. 2024-11-30 19:29:37 +13:00
Revone
8b247456f5 release: v1.54.1 2024-11-30 13:34:05 +13:00
Revone
cbda9c152b fix: Strictly implemented the IBinaryTree interface in TreeMultiMap and AVLTreeMultiMap, while passing the correct MV[] type. 2024-11-30 13:27:07 +13:00
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
691fb62893 fix: #117 2024-11-25 20:18:20 +13:00
Revone
829403dc63 fix: Adjust all entry callback functions to the [key, value] order. 2024-11-25 01:29:48 +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
1494ffa84f docs: more example code for RedBlackTree and BinarySearchTree 2024-11-24 17:37:33 +13:00
Revone
4298ac658b feat: Add a rangeSearch method to binary search tree data structures and support tuple parameters as the query range. 2024-11-23 22:49:36 +13:00
Revone
5077c0d291 docs: Improve the documentation for pushMany, addMany, and similar methods. 2024-11-23 21:57:13 +13:00
Revone
f1fecd828a feat: Add pushMany, addMany, unshiftMany, or addMany methods to all data structures. 2024-11-23 21:36:05 +13:00
Revone
ca7e60e465 fix: rename the keyValueNodeEntryRawToNodeAndValue to _keyValueNodeEntryRawToNodeAndValue and make it protected 2024-11-22 22:55:43 +13:00
Revone
aab0c87da0 docs: add example code for Trie 2024-11-22 19:53:32 +13:00
Revone
e4ebf5fae1 fix: Skip writing when the ci process cannot read the subpackages directory. 2024-11-22 17:48:13 +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
080a671de1 feat: add range search functionality to BST 2024-11-22 11:23:57 +13:00
Revone
713b145a1c feat: Add a highly generic search method to binary tree data structures. Adjust the parameter order for the getPathToRoot method. Add example code to the BST documentation. Rename the get method in DoublyLinkedList and SinglyLinkedList to search. 2024-11-21 19:02:19 +13:00
Revone
a0623db58c style: Beautify code format for test case conversion examples 2024-11-21 11:48:24 +13:00
Revone
a1c468b19b chore: Automate writing code examples to README.md for sub-packages 2024-11-21 10:45:32 +13:00
Revone
fde5af1f1c fix: #114. feat: Enhanced SinglyLinkedList methods to support Node type parameters for push, unshift, addAfter, addBefore, getNode, addAt, delete, indexOf; added a new get method. 2024-11-20 22:07:42 +13:00
Revone
09a5d8a11a feat: Enhanced DoublyLinkedList methods to support Node type parameters for push, unshift, addAfter, addBefore, getNode, addAt, delete, indexOf, and getBackward; added a new get method. 2024-11-20 20:43:22 +13:00
Revone
1b0ee601ac fix: Fix the bug where a regex replacement error occurs when test cases contain both .toBeUndefined() and .toBe or .toEqual. 2024-11-20 17:29:44 +13:00
Revone
f84518cc6d fix: Fixed a bug in the DoublyLinkedList.delete method. Improved the feature for generating sample code documentation for test cases. Added classic example code for Heap and DoublyLinkedList. 2024-11-20 16:27:37 +13:00
Revone
e09be8c3a6 chore: Implement unit tests as example code in the README.md and source code comments. 2024-11-19 23:21:40 +13:00
Revone
0ff5ddc410 chore: Implement unit tests as example code in the README.md and source code comments. 2024-11-19 23:20:25 +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
5adf75f99c fix: Fix the bug where the binary tree repeatedly adds elements with the same key in map mode and the bug where the node’s value is instantiated simultaneously. Enable map mode by default. 2024-11-03 16:38:07 +13:00
Revone
37ff9207fe release: v1.53.0 2024-11-01 19:40: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
8ae577315a release: v1.52.9 2024-10-31 17:13:36 +13:00
Revone
6ef4b47b0b docs: Complete the documentation for the print method in BinaryTree. Correct the unit tests for the print method. 2024-10-31 16:44:01 +13:00
Revone
9ace395564 fix: Fix bug in BinaryTree.print to support undefined, null, and NIL. Fix #106 2024-10-31 16:18:51 +13:00
Revone
0a8b9265cc fix: #110 2024-10-31 13:26:45 +13:00
Revone
761c1c6af4 fix: #110 2024-10-31 13:20:00 +13:00
Revone
5992ae5d0d release: v1.52.8 wiht ci flow fixed 2024-10-31 09:41:03 +13:00
Revone
9e62968e3d release: v1.52.8 2024-10-30 21:28:20 +13:00
Revone
487f45f6b2 release: v1.52.7 2024-10-30 21:00:03 +13:00
Revone
6428e0f228 fix: Bug fix #103: Fixed an issue where all binary tree clone methods lost constructor parameters. Optimized variable names. Standardized access modifiers for binary tree member variables. 2024-10-30 20:52:23 +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
a29dc270e6 Change the print method to return a value instead of directly calling console.log.Unify the logic of all keyValueOrEntryOrRawElementToNode methods in BinaryTree.
Use a generic isComparable method to determine if a value is comparable in size when using the isKey method in the BinaryTree.
Fix the boundary value bug in the getNodes method of BinaryTree.
Support callback functions in getLeftMost and getRightMost to support returning results with different properties.
If a comparator is specified for BST, the isKey method will force the object type to be comparable.
The isComparable method has been implemented based on JavaScript's comparison principles.
2024-10-29 16:23:24 +13:00
Revone
9f197d48b0 fix: import * as console from 'console' removed 2024-10-21 21:41:56 +13:00
Revone
18fe006652 style: Remove unnecessary comments. 2024-10-21 21:34:51 +13:00