Commit graph

262 commits

Author SHA1 Message Date
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 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 baf1be4035 release: 1.50.0. docs: traversal methods 2023-12-29 11:24:25 +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 50a5c06798 release: 1.49.7 2023-12-24 17:55:42 +08:00
Revone fdf5d06245 release: 1.49.6 2023-12-23 12:07:50 +08:00
Revone 0708509f3e release: 1.49.5 2023-12-22 20:04:08 +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 bc000105d8 release: 1.49.4 2023-12-21 10:08:59 +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 4d88405ac1 release: 1.49.1 2023-12-12 10:05:36 +08:00
Revone 9d4228c9fe refactor: Represent the optional parameters in the dijkstraWithoutHeap and dijkstra methods using default arguments. Use the Heap data structure instead of PriorityQueue. 2023-12-11 09:41:24 +08:00
Revone 26208e9157 release: 1.48.9 2023-12-08 20:03:48 +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 a02a9a94d2 refactor: Rewrite the lastKey method. The BinaryTree.add method filters out duplicate additions. Rename popLast and popFirst to pollLast and pollFirst. 2023-12-07 19:34:20 +08:00
Revone aff29b3568 docs: Why use our data structures. 2023-12-07 15:37:50 +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 e6ca052093 release: 1.48.5 2023-12-07 09:17:16 +08:00
Revone ce99f7988e release: 1.48.4 2023-12-06 10:42:12 +08:00
Revone 785e92a87f release: 1.48.3 2023-12-04 22:05:15 +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 40abf9a8c2 release 1.48.1 2023-11-30 11:41:09 +08:00
Revone 523221357c fix: ci process dependency 2023-11-27 14:04:04 +08:00
Revone 22fc90f221 release: 1.48.0 2023-11-27 13:42:56 +08:00
Revone e1e672b3b5 refactor: Extract the isNode and exemplarToNode methods to achieve best practices. 2023-11-27 13:38:26 +08:00
Revone 20550fb718 feat: Implement the [Symbol.iterator], forEach, filter, map, and reduce methods for Graph, specifically targeting the nodes. fix: type error fixed 2023-11-27 11:24:23 +08:00
Revone 3dc0454c24 docs: Integration tests and documentation for free conversion between data structures. 2023-11-25 22:49:54 +08:00
Revone 451f6c5e31 release: 1.47.6 2023-11-24 08:49:18 +08:00
Revone c8210d9b0c release: 1.47.5 2023-11-23 13:22:41 +08:00
Revone 37e32fedcf chore: red-black-tree-typed npm module added. All the sub modules READMEs are modified 2023-11-22 22:10:00 +08:00
Revone 76294d006d release: 1.47.2 2023-11-22 21:30:31 +08:00
Revone 12e9eab287 release: 1.47.1 2023-11-22 17:39:41 +08:00
Revone 4162aeeb9d release: 1.47.0 2023-11-22 17:32:49 +08:00
Revone 6d67fbc81e release: 1.46.9 2023-11-22 17:19:25 +08:00
Revone 54c74f9af6 feat: The print method supports switches for empty nodes and guardian nodes. refactor: It eliminates some unnecessary type definitions. 2023-11-21 17:30:57 +08:00
Revone cbe6dedfd6 release: v1.46.8 2023-11-21 14:20:13 +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 1c90d1e9c9 release: v1.46.7 2023-11-21 11:03:02 +08:00
Revone 42345f813f chore: Perfectly optimize keywords and project descriptions. 2023-11-21 11:02:10 +08:00
Revone d3a6bdac25 fix: type error fixed. docs: Remove unnecessary 'Software Engineering Design Standards'. 2023-11-20 15:14:13 +08:00
Revone b2d31e2c44 chore: run cjs, mjs build before test performance 2023-11-19 21:16:20 +08:00
Revone 95621da654 chore: Check if the latest version of the npm package is already installable. 2023-11-19 17:48:54 +08:00
Revone 5c6803b1a9 docs: Deque docs enriched, big o notations 2023-11-19 08:56:37 +08:00
Revone e7be7b559d feat: Implemented Deque independently and conducted performance tests, and eliminated the redundant data structure ArrayDeque. Add performance test cases for DoublyLinkedList. 2023-11-17 16:11:31 +08:00
Revone fa92ddfdaa perf: Implemented a high-performance Heap. docs: Software Engineering Standard Form. 2023-11-17 10:47:13 +08:00
Revone f9b6f313c6 feat: The performance report generator supports parameter filtering commands, which can be used to run specific tests individually. It generates individual performance comparison reports. Enrich the COMMANDS.md document. 2023-11-16 21:07:00 +08:00
Revone dd2701dab7 style: reformated codebase 2023-11-16 10:14:14 +08:00
Revone bac0964ac2 fix: Implemented a high-performance HashMap comparable to the native Map. All test cases are standardized using 'it' instead of 'test'. Enabled tsconfig's sourceMap configuration for correct line numbers in IDE testing. 2023-11-15 23:17:55 +08:00
Revone d71a1eb2bc fix: Removed unused enums. style: Beautified text color output of the performance report generator console. 2023-11-14 21:41:20 +08:00
Revone cfe97b3adc chore: Correct the packaging configuration files of different modules. 2023-11-13 23:51:43 +08:00
Revone 65af9d6f20 docs: Added development umd module 2023-11-13 22:30:59 +08:00
Revone 124b676685 release: v1.43.2 2023-11-13 12:51:35 +08:00
Revone 649101ebe0 release: v 1.43.1 2023-11-13 00:03:42 +08:00
Revone c985317259 test: Added a switch to control whether to test the performance of competitors. 2023-11-11 09:59:11 +08:00
Revone 7bcb0ba843 test: Competitor Performance Comparison Test 2023-11-11 00:17:50 +08:00
Revone a1cfac93da test: Testing coverage has increased to 91.2%. 2023-11-10 23:44:24 +08:00
Revone fd416c5d6e docs: Almost all methods of data structures have added comments on time and space complexity. 2023-11-10 16:24:24 +08:00
Revone d682a609f9 release: v1.42.8 2023-11-09 20:48:06 +08:00
Revone c2c7011e15 refactor: Unified API parameters, streamline syntax, exclude methods already present in the parent class. 2023-11-09 20:25:54 +08:00
Revone 000efa749d docs: Conventional Commits of CONTRIBUTING.md, Built-in classic algorithms enriched 2023-11-08 20:25:02 +08:00
Revone 50d1a168e7 [perf] renamed tree-multiset to tree-multimap 2023-11-08 09:26:43 +08:00
Revone c509a2d640 [test] trying to test RedBlackTree 2023-11-07 20:08:16 +08:00
Revone 996fd128ed [binary-tree] Perfectly solved the null problem, in BST, AVLTree, and TreeMultiset, only 'undefined' is used as the empty node. 2023-11-07 12:26:16 +08:00
Revone 8a518f95b7 [project] codebase reformated 2023-11-06 19:44:01 +08:00
Revone be38422de9 [test] null should be ignored in travesal method in BST 2023-11-06 19:36:09 +08:00
Revone f15792c529 [project] tables optimization of README.md 2023-11-06 11:01:32 +08:00
Revone 919efc04a2 [test] coverage directories specified 2023-11-05 21:37:01 +08:00
Revone 62e55b84bd [graph] The getAllPathsBetween method in the [graph] provides a 'limit' parameter to control this exponential time complexity method from entering into a deadlock state. The getMinPathsBetween method, by default, calls the Dijkstra method to avoid invoking the excessively high time complexity method, getAllPathsBetween. 2023-11-04 21:23:02 +08:00
Revone 025a90a145 [graph] use 'Set' in dfs instead of 'Map' 2023-11-04 15:47:24 +08:00
Revone 0ecc163944 [project] Replace the performance test report in README.md every time instead of inserting incrementally. 2023-11-04 10:19:09 +08:00
Revone 24a961f692 [BST, AVL] The 'get' method follows the binary search of a BST for bug fixes during queries. [Project] The editor uses 'tsconfig.json' for code checking to be compatible with the 'test' directory, but compiles using their respective configuration files. 2023-11-04 10:00:51 +08:00
Revone bd2ecc5699 [benchmark] enriched the utils of performance test. enriched the performance test cases 2023-11-04 01:21:30 +08:00
Revone 4614773413 [binary-tree] Merge the operation of modifying the value into the insert query process to improve performance. [benchmark] Enhance performance test cases and move existing performance tests from unit tests to the 'performance' section. Improve the benchmark test report. Refine the logic of the report generator. 2023-11-02 21:38:10 +08:00
Revone 9a87fe13b6 [benchmark] beautiful report 2023-11-02 16:10:41 +08:00
Revone f0777567f2 [project] remove the unnecessary pkg underscore 2023-11-02 11:57:20 +08:00
Revone ca013f019f [benchmark] pretty html report for benchmark test 2023-11-02 11:38:29 +08:00
Revone 9f2f0fca29 [benchmark] generated a performance testing report. 2023-11-02 09:24:06 +08:00
Revone 68aa49f9b1 [project] Decouple integration testing from the CI workflow. 2023-11-01 18:19:49 +08:00
Revone c82190764e [rbtree, binary-tree] Further testing of the Red-Black Tree is required. The 'get' method in BinaryTree should be renamed to 'getNode,' and an additional 'get' method should be added. 2023-11-01 13:48:01 +08:00
Revone ea3ab1283e [rbtree] extracted RBTNColor to types 2023-11-01 11:52:44 +08:00
Revone 10bbcffcef [pkg] v1.40.0 published 2023-10-31 11:22:21 +08:00
Revone 1822084407 [pkg] v1.39.6 published 2023-10-31 08:43:54 +08:00
Revone 3aea9fc046 v1.39.5 published 2023-10-30 18:53:14 +08:00
Revone c001251cfc [binary-tree] this._defaultCallbackByKey deprecated 2023-10-30 11:40:03 +08:00
Revone bf5b865e2c [binary-tree] bug fix#27 2023-10-30 11:14:41 +08:00
Revone f87e682f26 [test] test coverage enriched to 90.37% 2023-10-29 21:52:27 +08:00
Revone c492af0461 [linked-list] Standardize the method names of DoublyLinkedList and SinglyLinkedList. 2023-10-29 16:43:19 +08:00
Revone bd1720973a [test] Increase the test coverage to 89.51. 2023-10-28 23:54:27 +08:00
Revone 6c45f53f72 [heap, priority-queue, binary-indexed-tree] Heap and PriorityQueue constructors use a single object as a parameter for uniformity with the design of other data structures.
Binary Indexed Tree includes the getPrefixSum method.
2023-10-28 17:37:51 +08:00
Revone c11cc4527b [graph] The removal method in the graph data structure is standardized to 'delete' 2023-10-28 15:58:48 +08:00
Revone f90afe0b57 [binary-tree] The binary tree's BFS and level-order traversal results should be the same. However, for convenience, we provide an additional method called listLevels to display traversal results in levels. 2023-10-27 22:30:52 +08:00
Revone 06dc8bdc4d [binary-tree] Change the design so that when instantiating the BinaryTree data structure, there's no need to specify the node type; instead, use the second default generic parameter and its default value. 2023-10-27 18:04:31 +08:00
Revone af23af911a [binary-tree] renamed _loopType to _iterationType 2023-10-27 17:17:27 +08:00
Revone f2d3be7574 [binary-tree] Translate the return value type inference for methods that take a callback function as a parameter. 2023-10-26 20:26:06 +08:00