Commit graph

147 commits

Author SHA1 Message Date
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 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 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 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
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 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
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
Revone ec649bd8bb test: reorgnization. docs: improved a lit bit 2023-12-30 11:49:59 +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 fa9e3dbac4 docs: Enhance the explanation of the theory that respects computer science. 2023-12-24 17:54:51 +08:00
Revone c949b5b741 refactor: Rearrange constructor parameters for all data structures, with the first parameter being the output and the second parameter being a configuration object. Make all configuration object properties optional.
fix: Provide optional parameters for inheritable data structures to facilitate inheritance. #64
2023-12-24 17:44:55 +08:00
Revone fdf5d06245 release: 1.49.6 2023-12-23 12:07:50 +08:00
Revone d57d6072c2 fix: Fix bug in BST.isBST to make it compatible with inverse BST.
refactor: Use KeyOrNodeOrEntry as the parameter type consistently in the binary tree data structure.
test: Remove unnecessary performance reports and refactor loop code to use single lines wherever possible.
2023-12-23 11:53:18 +08:00
Revone 2247316d16 refactor: Remove the _addTo method from BinaryTree and TreeMultiMap.
feat: Reimplement Matrix.
docs: Use typedoc.json configuration to only output class documentation.
2023-12-22 19:59:38 +08:00
Revone c3db558607 Refactor: The default callback function now supports returning values for null and undefined nodes with undefined keys. The deleteVertex method in AbstractGraph has been made abstract. Unnecessary magnitude variables have been removed from the magnitude function. fix: In directed and undirected graphs, the deleteVertex method now removes edges from adjacent nodes when deleting a vertex. 2023-12-21 10:01:04 +08:00
Revone 6ceaf21fba release: 1.49.2 2023-12-15 09:53:59 +08:00
Revone 3e97e806ba refactor: Unify the return types of all methods and align them with Java, extract the print and hasValue methods to base class. This will make the code more consistent and easier to understand. 2023-12-12 21:14:17 +08:00
Revone c3b79b70f6 docs: Add a GITHUB stars badge. Adjust the order of the table. Test: Specify the type of binary tree constructor. 2023-12-08 10:07:51 +08:00
Revone 7270a27425 docs: Benchmarking metrics compared to native JavaScript 2023-12-08 09:15:29 +08:00
Revone e167771620 docs: Benchmarking metrics compared to native JavaScript 2023-12-08 09:04:49 +08:00
Revone aff29b3568 docs: Why use our data structures. 2023-12-07 15:37:50 +08:00
Revone d038e03ef2 docs: Chinese version README.md 2023-12-07 14:03:58 +08:00
Revone a0a9ed2f50 docs: Chinese version README.md 2023-12-07 11:40:01 +08:00
Revone c92e1974fe docs: Reorganize the correspondence of data structures in different languages once again. 2023-12-07 10:47:50 +08:00
Revone 7365f661db docs: Snippets of TS 2023-12-04 22:09:09 +08:00
Revone 8a24a6d7a4 refactor: The binary tree data structure supports custom types for keys 2023-12-04 21:58:41 +08:00
Revone f24901de2a release: 1.48.2 2023-12-02 22:29:00 +08:00
Revone 2e26bc0fef docs: LinkedHashMap 2023-12-02 22:21:13 +08:00
Revone 87ea490458 feat: print method has been added in HashMap. chore: reformated HashMap test. docs: high-performance HashMap benchmark 2023-11-30 10:20:12 +08:00
Revone e1e672b3b5 refactor: Extract the isNode and exemplarToNode methods to achieve best practices. 2023-11-27 13:38:26 +08:00
Revone a71b223226 docs: Add print results for free conversion between data structures. 2023-11-27 10:12:15 +08:00
Revone 3dc0454c24 docs: Integration tests and documentation for free conversion between data structures. 2023-11-25 22:49:54 +08:00
Revone 76db084bda refactor: Explicitly call the super.addMany method. chore: reformat project configs 2023-11-25 20:59:34 +08:00
Revone 18b895cb4c refactor: The parameters for the add and addMany methods in all binary tree data structures have been changed to the entry style, and the first test has passed. 2023-11-25 14:38:32 +08:00
Revone 9a430fdbc6 docs: Binary Tree print method 2023-11-22 21:29:44 +08:00
Revone 3205f90cf6 docs: Reorganize some content in the README 2023-11-22 19:00:06 +08:00
Revone a41e222481 feat: Implement forEach, filter, map, reduce, and [Symbol.iterator] methods for all binary tree data structures 2023-11-22 17:18:37 +08:00
Revone 9ae8416df1 docs: Automate the writing of the table of contents for README.md. chore:Remove unused npm packages. 2023-11-21 14:16:06 +08:00
Revone 42345f813f chore: Perfectly optimize keywords and project descriptions. 2023-11-21 11:02:10 +08:00
Revone d6e186a884 chore: To avoid sacrificing performance, UMD modules use ES6 style. 2023-11-20 19:24:53 +08:00
Revone d3a6bdac25 fix: type error fixed. docs: Remove unnecessary 'Software Engineering Design Standards'. 2023-11-20 15:14:13 +08:00
Revone cbf1d05064 refacor: If individual performance test, not to replace content in README.md 2023-11-19 21:26:04 +08:00
Revone b4e89d9f72 refactor: Discard the unnecessary Iterator class in Deque and HashMap, and instead implement using Generators. 2023-11-19 21:09:44 +08:00
Revone 5c6803b1a9 docs: Deque docs enriched, big o notations 2023-11-19 08:56:37 +08:00
Revone 2634c99388 feat: high-performance Deque implemented 2023-11-17 22:37:35 +08:00