Commit graph

529 commits

Author SHA1 Message Date
Revone c7dbfd54f1 fix: #87 2024-08-04 19:05:19 +12:00
Revone abfb441bc7 docs: priority queue is heap 2024-08-02 10:15:56 +12:00
Revone 6642f8b66b docs: plain language explanations 2024-07-31 21:04:20 +12:00
Revone 5d146cbfc2 docs: refined the table of deferences of data structures 2024-07-31 14:33:55 +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 ec8242044a refactor: Renamed some type aliases 2024-03-16 09:47:22 +08:00
Revone 94d34e61e7 Merge branch 'main' of https://github.com/zrwusa/data-structure-typed 2024-02-01 23:26:49 +08:00
Revone 8616e4ddc4 release: 1.52.0 2024-02-01 23:26:45 +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
Revone 3028a78985 Refactor: Abandon the use of Comparable types as keys for the binary tree, as the '>', '>=', '<', '<=' operators are supported by the any type. The heap also adopts the same comparator as the binary tree. 2024-01-29 11:35:24 +08:00
zrwusa 6fccb57f1b
Update README.md 2024-01-27 11:10:38 +08:00
Revone c2f98f851b release: 1.51.9 2024-01-26 18:26:40 +08:00
Revone 02d71a23ba Refactor: All binary tree data structures now support the toEntryFn for extracting key and value from raw data at once, avoiding users from having to traverse data multiple times, thus improving performance. Chore: Explicitly use the override keyword. 2024-01-26 18:20:15 +08:00
Revone 3c26538c2e release: 1.51.8 2024-01-25 10:55:59 +08:00
Revone 0013242189 Refactor: In the binary search tree data structure, use a comparator instead of a variant configuration for comparison. 2024-01-25 10:24:25 +08:00
Revone 89dadfccc2 Refactor: Remove the unnecessary design of the extractor in the Binary Search Tree (BST). Utilize 1, -1, and 0 to replace the original comparison results GT, LT, and EQ. 2024-01-25 09:38:03 +08:00
Revone 1303aba070 refactor: Use Comparable type constraint for the key in the binary tree to improve comparator performance. 2024-01-24 18:38:34 +08:00
Revone 82acc04e6f release: 1.51.7 2024-01-19 18:06:28 +08:00
Revone ae11bca83c Refactor: Added the _ensureCallback method to eliminate redundant code. 2024-01-19 18:02:56 +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 2eac608960 release: 1.51.6 2024-01-18 19:18:29 +08:00
Revone 5d41696998 release: 1.51.6 2024-01-18 19:18:15 +08:00
Revone 4bebf6c261 docs: downloads added to individual packages 2024-01-18 18:53:05 +08:00
Revone b442db39e8 docs: fix the links 2024-01-18 12:01:01 +08:00
Revone c6b9564db7 release: 1.51.4 2024-01-17 22:43:32 +08:00
Revone 18b1fab16d feat: Restore the TreeNode data structure. Add number utilities to the utils module. docs: Update POSTS_zh-CN.md. 2024-01-17 22:27:38 +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 e2f554fb5c docs: re-organized 2024-01-16 11:01:27 +08:00
Revone bb37adbe68 release: 1.51.3. chore: Restore keyword list to version 1.47.4. 2024-01-16 10:40:21 +08:00
Revone 6ca47958bf release: 1.51.2 2024-01-15 21:14:50 +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 173966edea release: 1.51.1 2024-01-15 12:13:05 +08:00
Revone 9915ce9a0d Refactor: Rename _defaultOneParamCallback to _DEFAULT_CALLBACK. Adopt early return code style in the ensureNode method. Rename some internal recursive method names. 2024-01-15 12:12:01 +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 25de27cf6c fix: Explicitly specify IterationType. 2024-01-14 18:59:28 +08:00
Revone 312ba2f492 release: 1.50.8 2024-01-14 03:15:17 +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 d0b3fcf164 release: 1.50.7 2024-01-12 14:33:45 +08:00
Revone a653d465fa Refactor: Use 'this.isRealNode' instead of explicit null checks in getHeight, getMinHeight, and getNodeByKey methods in the binary tree. In the red-black tree, directly invoke the parent class getNode method, significantly improving the speed of red-black tree node deletion and retrieval. 2024-01-12 14:15:05 +08:00
Revone 644ce69190 Refactor: Review methods in the binary tree that require explicit 'override' annotation. Feat: Add the 'getMutableCount' method to AVLMultiMap. 2024-01-12 11:28:15 +08:00
Revone e1631a8e3e refactor: Define a generic CRUD enum to represent operational states. 2024-01-12 11:07:33 +08:00
Revone c812f43a04 release: 1.50.6 2024-01-11 20:28:51 +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 4747839d88 Refactor: Standardize addition and removal methods for all sequential data structures to push, pop, shift, unshift. 2024-01-09 12:04:50 +08:00