Commit graph

609 commits

Author SHA1 Message Date
Revone 69f8e7de3d docs: Added example code for HashMap, Queue, and Stack. 2024-12-06 10:38:51 +13:00
Revone de0a2f1053 release: 2.0.0 2024-12-05 20:26:31 +13:00
Revone 9224252367 perf: Optimize the performance of indexOf, lastIndexOf, slice, and splice methods in Queue, Deque, SinglyLinkedList, and DoublyLinkedList. The performance is now satisfactory with a dataset of 1 million elements. 2024-12-05 20:23:26 +13:00
Revone 4a522db1e3 feat: Added multiple methods to all linear data structures (Queue, Deque, DoublyLinkedList, SinglyLinkedList), including join, concat, sort, slice, lastIndexOf, findIndex, splice, reduceRight, and fill. Abstracted LinearBase and LinearLinkedBase classes to implement high-performance member methods tailored to different data types. 2024-12-04 22:30:05 +13:00
Revone 731ef56e10 docs: Add an example code for a sliding window using Deque. 2024-12-03 15:15:48 +13:00
Revone 17cfcbd66c feat: Change the size property of all queue-based data structures to length to align with JavaScript's Array. 2024-12-03 13:53:51 +13:00
Revone d27784228b feat: Add maxLen configuration option to all queue-based data structures.
docs: Add example code for Deque.
2024-12-03 13:35:25 +13:00
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