Commit graph

497 commits

Author SHA1 Message Date
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
Revone 70882d24fc release: 1.50.4 2024-01-08 22:29:10 +08:00
Revone 996837734a Merge branch 'main' of https://github.com/zrwusa/data-structure-typed 2024-01-08 22:25:31 +08:00
Revone 465744c2ec feat: Replace the AVLTree with a Red-Black Tree to implement TreeMultiMap, preserving the implementation of TreeMultiMap using AVLTree and renaming it as AVLTreeMultiMap. 2024-01-08 22:22:41 +08:00
zrwusa 27697259a1
Update issue templates 2024-01-08 21:48:29 +08:00
Revone e2ab386df3 release: 1.50.3 2024-01-08 09:49:33 +08:00
Revone 6e4d113004 release: 1.50.3 2024-01-07 22:55:34 +08:00
Revone a95567b3c4 release: 1.50.3 2024-01-07 22:32:39 +08:00
Revone a01d0c82b1 release: 1.50.3 2024-01-07 22:27:31 +08:00
Revone 5c9f4fd483 fix: #74 . Refactor: Implement the Tarjan algorithm separately for DirectedGraph and UndirectedGraph. In the previous design, the tarjan method was placed in the AbstractGraph class. However, Tarjan algorithm is used to find connected components in directed graphs and to solve bridges, articulation points, determine the presence of cycles (though not all), and biconnected components in undirected graphs. The algorithm for finding all cycles in the graph can be shared between directed and undirected graphs using the getCycles method. 2024-01-07 22:25:25 +08:00
Revone e91970c09f refactor: Directly constrain the methods clear, map, and filter in the base class.
feat: Implement the clear method in DirectedGraph, UndirectedGraph, and Trie.
docs: Add SPECIFICATION.md, SPONSOR.md, and SPONSOR_zh-CN.md. Adjust badge order and add a new contributor count badge.
2024-01-06 17:50:00 +08:00
Revone ba16f311c3 Refactor: Organize the access permissions of all member variables. Docs: Partial documentation for time and space complexity. 2024-01-05 15:37:28 +08:00
Revone cd2db0b45e release: 1.50.2 2024-01-04 16:28:50 +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
zrwusa ce6440bfa2
Merge pull request #69 from Oaz/main
Tests for DirectedGraph.tarjan
2024-01-03 16:01:43 +08:00
Revone ecf4d6ad11 fix: Fix bug #71.
feat: Define abstract methods through a base class to add clone and isEmpty methods to all data structures. Add delete and deleteAt methods to Deque, Queue, and Stack data structures.
refactor: Optimize the type definition N to NODE for alignment with the design of TREE.
2024-01-03 15:52:10 +08:00
Olivier Azeau ba6b666b44
Merge branch 'zrwusa:main' into main 2024-01-02 08:46:30 +01:00
Olivier Azeau b965ec22db added tests for DirectedGraph.tarjan 2024-01-02 08:45:55 +01:00
Revone 58ea2cb3c3 docs: Complete all code comments. 2024-01-01 10:45:32 +08:00
Revone 831ad3bd98 refactor: rename method 'getAt' to 'at' 2023-12-30 20:36:11 +08:00
Revone ff8f907192 feat: In the IterableEntryBase and IterableElementBase classes, add find, get, and has methods so that all inheriting data structures can have access to these methods. Also, override these methods in the necessary data structures as needed. 2023-12-30 18:44:24 +08:00
Revone c28deb8d81 refactor: Rename exemplarToNode to keyValueOrEntryToNode. feat: Implement the clone method for all data structures. 2023-12-30 17:50:57 +08:00
Revone ec649bd8bb test: reorgnization. docs: improved a lit bit 2023-12-30 11:49:59 +08:00
Revone 6b3d8b9fa5 release: 1.50.1 2023-12-29 21:50:53 +08:00
Revone 12abe48b33 chore: SEO optimization 2023-12-29 21:50:20 +08:00
Revone a9c556fce3 docs:Sequential Organization 2023-12-29 16:42:20 +08:00
Revone baf1be4035 release: 1.50.0. docs: traversal methods 2023-12-29 11:24:25 +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 8fd35dd1f8 release: 1.49.9 2023-12-25 20:25:13 +08:00
Revone 689aa0f57e feat: Provide convenient option of the raw data processing function 'toEntry' in HashMap.options. 2023-12-25 20:24:41 +08:00
Revone eb590d6c27 feat: Remove support for the 'variant' option parameter in Red-Black Tree, meaning no support for reverse Red-Black Tree.
fix: Fix bug in the return value of the Red-Black Tree delete method.
test: Test the clone methods of all the binary tree data structures.
2023-12-25 10:56:04 +08:00
Revone 50a5c06798 release: 1.49.7 2023-12-24 17:55:42 +08:00
Revone fa9e3dbac4 docs: Enhance the explanation of the theory that respects computer science. 2023-12-24 17:54:51 +08:00