Revone
69f8e7de3d
docs: Added example code for HashMap, Queue, and Stack.
2024-12-06 10:38:51 +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
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
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
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
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
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
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
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
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
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
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
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
5992ae5d0d
release: v1.52.8 wiht ci flow fixed
2024-10-31 09:41: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
e271f73de0
feat: Refactor the BinaryTree's dfs method into a private helper function _dfs to prepare for a more generic implementation.
2024-10-21 19:14:36 +13:00
Revone
a699b097c7
feat: The leaves method of the binary tree supports both RECURSIVE and ITERATIVE modes.
2024-10-20 16:59:01 +13:00
Revone
85b79ff1ad
feat: All binary tree data structures support the leaves method. It is used to find all leaf nodes.
2024-10-20 15:40:02 +13:00
Revone
ea0d4272df
fix: Fix #100 the return type error in the find method's callback function in IterableEntryBase.
...
Add test cases for HashMap and Stack.
2024-10-19 19:51:49 +13:00
Revone
07dd75de70
test: The test cases have been added, though slightly tricky. The overall test coverage is currently at 93.27%.
2024-10-16 21:55:48 +13:00
June Park
59cf685395
fix(trie): trie returns invalid string when only the fist character matches, and the second doesn't match
2024-09-03 00:49:53 +09:00
Revone
7e45aaf609
style: Prettier version updated. Code style adhered to Prettier strictly.
2024-08-27 10:56:04 +12:00
Revone
ac1712ba04
feat: supports compact method to save memory. #91
2024-08-27 10:24:38 +12:00
Revone
3e91a97987
fix : #89 . Supports maxLen for max length of the Deque
2024-08-04 19:19:14 +12:00
Revone
7f32fee19a
docs: Added a document detailing the differences between various data structures, including schematic diagrams of the data structures.
2024-07-31 14:10:32 +12:00
Revone
5dc132cb2a
fix : #86
2024-03-16 09:59:48 +08:00
Revone
1ae9e929b1
feat: Provide the toElementFn method during instantiation for the entire data structure series, allowing the mapping of raw data to the desired data type and direct insertion of data into the data structure to be completed within a single loop.
...
fix: Override the corresponding clone, filter, and map methods in the Heap and PriorityQueue data structures, ensuring the accurate return of the respective data structures. #84 fixed.
2024-02-01 21:05:10 +08:00
Revone
6539e50598
feat: Provide custom toElementFn in Heap configuration options to transform user raw data into a specified element type within a single loop.
2024-01-31 10:04:21 +08:00
Revone
8051850331
feat: When comparing two values in the Heap and binary search tree, if one of the values is of object type, it is mandatory to pass a custom comparator function.
2024-01-29 20:23:06 +08:00