Commit graph

261 commits

Author SHA1 Message Date
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
Revone 31c228668e [optimization] allow all list datatype delete methods to accept null as an input argument 2023-10-26 16:45:08 +08:00
Revone 2d518151ae [pkg] v1.38.3 publish 2023-10-25 21:11:44 +08:00
Revone 8df45c5c52 [binary-tree] Dynamically infer traversal method return values based on callback function results. 2023-10-25 21:09:11 +08:00
Revone e45854d3f4 [project] Optimize the build configuration to be compatible with both earlier and later versions of Node.js. Switch to using tsup for UMD module output. Format code using an IDE. 2023-10-25 15:51:50 +08:00
Revone b7dd86dad2 [project] remove unnecessary self dependency 2023-10-25 11:26:30 +08:00
Revone 063b702236 [project] Achieve a rational subpackage structure that enables individual subpackages to be independently exportable. 2023-10-25 11:19:03 +08:00
Revone 5978159d9e [project] ready to publish all subs customized 2023-10-25 10:40:39 +08:00
Revone c8f0e23704 [project] Ensure the type files in the "types" directory match those in the "src" directory. 2023-10-25 09:57:04 +08:00
Revone 74d4294320 [binary-tree] Provide comprehensive JSDoc comments for the enhanced APIs. 2023-10-24 09:25:33 +08:00
Revone 48e94f29ed [binary-tree] Update the testing API to the new version. 2023-10-23 21:22:07 +08:00
Revone c177a4f87d [pkg] v1.37.1 publishing 2023-10-23 03:06:55 +08:00
Revone af7372ba30 [pkg] ready to publish v1.37.0 2023-10-22 00:00:22 +08:00
Revone 284e85e76b [pkg] v1.36.9 published 2023-10-21 20:19:35 +08:00
Revone cb56b04af5 [test] big o estimate refined 2023-10-21 14:46:41 +08:00
Revone 39baccd17c [pkg] v1.36.8 published 2023-10-21 02:02:13 +08:00
Revone b7a7e36563 [project] added publish:all command 2023-10-20 11:51:26 +08:00
Revone 4fa0816223 [core] Shared Comparator and DFSOrderPattern among multiple data structures. ESLint config improved 2023-10-20 11:43:26 +08:00
Revone 9a90ae40fc [pkg] v1.36.6 published 2023-10-19 21:05:12 +08:00
Revone ba9cd51a6a [project] enrich the scripts of ci 2023-10-19 09:21:00 +08:00
Revone 57c4511e69 [project] Integrate the CI commands into a single command and uniformly invoke this CI command across different platforms. 2023-10-18 16:05:55 +08:00
Revone 36153238b7 [trie] support casesensitivity. getWords bug fixed 2023-10-18 14:57:47 +08:00
Revone b10400e9c5 [pkg] v1.36.3 published 2023-10-17 23:52:24 +08:00
Revone 338fb60887 [pkg] v1.36.1 published 2023-10-17 19:31:16 +08:00
Revone 894fb55107 [heap] v1.36.0 Heap and PriorityQueue have been redesigned 2023-10-16 00:24:56 +08:00
Revone bc9b306382 [core] Also provide .d.ts files in the dist directory. 2023-10-13 10:39:58 +08:00
Revone f6c7f4930e [core] Also provide .d.ts files in the dist directory. 2023-10-13 10:39:05 +08:00
Revone 86e3bb2a94 [core] To standardize tsconfig.prod.json and tsconfig.json, .d.ts declaration files are also provided in the dist directory. To ensure compatibility with different versions of Node.js, you should modify the "exports" and "type" fields in package.json 2023-10-13 10:29:08 +08:00
Revone 641bf9785f [pkg] v1.35.1 2023-10-11 23:45:08 +08:00
Revone afd99bdf97 [test] test bug fixed 2023-10-11 23:36:10 +08:00
Revone 071cea8bd0 [project] CONTRIBUTING.md added 2023-10-11 23:14:35 +08:00
Revone f85073bebe [test] Double the duration of the performance test. 2023-10-11 22:30:53 +08:00
Revone 28df597297 [pkg] v1.35.0 2023-10-11 22:27:24 +08:00
Revone 799b7db7d3 [pkg] 1.34.9 published 2023-10-11 19:32:36 +08:00
Revone ed1ecf541f [binary-tree] unnecessary geters and setters removed 2023-10-10 21:56:55 +08:00
Revone 3bffa7320c [core] rename id to key 2023-10-10 20:13:47 +08:00
Revone 0c5df67215 [readme] badages updated 2023-10-10 17:22:18 +08:00
Revone f4d234df29 [pkgs] all sub packages add unit test cases 2023-10-08 18:25:29 +08:00
Revone 40ad74f609 [pkg] v1.34.3, all individual packages coverage directory generated 2023-10-06 21:33:44 +08:00
Revone 8659e1d09d [pkg] code quality improved to 99% 2023-10-06 20:51:55 +08:00
Revone a1cd24aeeb [pkg] quality reduced to 53.94%, must improve it 2023-10-06 18:00:47 +08:00
Revone 2dcb33cafe [pkg] npm package size reduced 2023-10-06 17:54:04 +08:00
Revone 092ac731b4 [pkg] v1.33.8 published 2023-10-05 10:37:42 +08:00
Revone 63afaf90cf [core] v1.33.7 ready to be pubished 2023-09-29 17:40:32 +08:00
Revone 17e0fcb061 [pkg] v1.33.6 published 2023-09-27 11:56:58 +08:00
Revone 6b7cba5966 [pkg] ci optimization 2023-09-27 11:15:38 +08:00
Revone 61263893fc [ci] debug, fetch and show tags 2023-09-27 10:45:08 +08:00
Revone 38f7275e4a [debug] ci 2023-09-27 10:30:55 +08:00
Revone 7dc7a16c3c [try] ci 2023-09-27 10:21:44 +08:00
Revone 32e08a51e5 [project] run build:docs fixed 2023-09-27 09:30:15 +08:00
Revone d32618f515 [project] Revising the CI process 2023-09-27 09:27:34 +08:00
Revone 08484f9f86 [try] v1.33.4 ci to publish to NPM 2023-09-26 20:33:10 +08:00
Revone 151593a1d2 [pkg] ci to publish 2023-09-26 20:21:20 +08:00
Revone 8f464db4e4 [pkg] v1.33.3 ready to publish 2023-09-26 20:10:32 +08:00
Revone 4b130dd282 [test] eslint test directary and format 2023-09-26 19:44:13 +08:00
Revone 19b255737b [test] eslint test directary and format 2023-09-26 19:43:45 +08:00
Revone 229a56f11b [pkg] steady to publish 1.33.2 2023-09-26 17:07:06 +08:00
Revone 80675e2bbb [BinaryTree] leftSum feature eliminated 2023-09-25 17:18:14 +08:00
Revone 96621c72e5 [RBTree] first commit of RBTree. [HashTable] first commit 2023-09-25 15:48:24 +08:00
Revone 3dc8215e49 [pkg] config files renamed. v1.33.0 2023-09-25 11:16:04 +08:00
Revone 45ac7d8d5f [pkg] keywords optimization 2023-09-24 21:31:09 +08:00
Revone 9b5f2b2ea2 [package] v1.32.2 published 2023-09-22 11:25:23 +08:00
Revone ae69def973 [README] ready to modify 2023-09-22 11:20:33 +08:00
Revone 25c88edcd6 [README] badges added. 2023-09-22 10:40:12 +08:00
Revone 6996813427 v1.32.0 published 2023-09-22 00:56:06 +08:00
Revone b4643625a0 test coverage report supported. Code quality enhanced and support multiple environments such as ES6 (ESModule), ES5 (CommonJS), and a single file for both browser and Node.js environments (UMD). Supported for source maps. CODE-OF-CONDUCT.md, COMMANDS.md, SECURITY.md, .gitattributes added. 2023-09-22 00:53:34 +08:00
Revone 39ef2b22db [project] quality of package improved. v1.3.6 published 2023-09-21 14:40:39 +08:00
Revone b263262a46 [project] github workflow added. eslint added. formating code by using prettier. 2023-09-21 12:52:17 +08:00
Revone 95b44f439b [project] ESLint applied 2023-09-20 11:39:24 +08:00
Revone a780e60844 Optimize keywords for fullness (possibly redundant) and logical order. 2023-09-20 10:43:27 +08:00
Revone 70f439da13 v1.3.3 published 2023-09-19 17:00:25 +08:00
Revone 55704871b6 v1.3.1 published, new Queue implemented from SinglyLinkedList, and ArrayQueue implemented from Array 2023-09-18 22:04:39 +08:00
Revone b00964c6fc v1.21.4 published 2023-09-12 12:08:13 +08:00
Revone 199a916d50 v1.21.3 published 2023-09-12 11:37:36 +08:00
Revone b0774bee5b [core] remove all the unnecessary files and directories when publishing the npm package 2023-09-09 23:49:53 +08:00
Revone da68f2f97c v1.21.0 publish ready 2023-09-07 22:32:48 +08:00
Revone 6f86f71cdd Add sort method in heap.Ready to publish v1.20.0 2023-09-01 12:43:33 +08:00
Revone d93895dfff remove assets for reduce the size of package 2023-08-31 22:32:11 +08:00
Revone 2d1010b352 Rework the add, addMany, and fill methods of AbstractBinaryTree. Refactor the AddMany method of TreeMultiset. Fix the bug in TreeMultiset where all Node counts become 1 after calling the perfectBalance method. Remove the unnecessary configuration of autoIncrementId. 2023-08-31 20:02:31 +08:00
Revone bd71edc536 images removed, heap docs revised 2023-08-31 00:50:23 +08:00
Revone 60e5824524 The APIs of Heap and Priority Queue got optimized 2023-08-31 00:18:13 +08:00
Revone cbfdb94b5b Split the data structures and publish all the individual packages to NPM. 2023-08-30 17:31:49 +08:00
Revone 573c51d894 Compile JS to ES6 2023-08-30 16:09:01 +08:00
Revone dccf2986f0 Compatible with standalone data structure libraries. 2023-08-30 14:27:18 +08:00
Revone ea24cd47fd v1.19.0 published 2023-08-29 20:52:15 +08:00
Revone 61f465fe99 Added a method for data type validation through type conversion to Zod schemas. 2023-08-28 18:43:09 +08:00
Revone de5a001b6a The Graph's API has been optimized. 2023-08-28 11:15:04 +08:00
Revone d29ff07f40 Swap the positions of val and id to enhance the intuitiveness of the API. Revise the design of familyPosition in AbstractBinaryTree such that the previous assignment approach is replaced with a real-time retrieval method. Standardize the BST.remove method with the AbstractBinaryTree.remove method. Eliminate the redundant attribute name from TreeNode. 2023-08-26 10:24:31 +08:00
Revone 2ea57d26ae For the sake of API simplicity, if val is not provided, id can be used in its place. 2023-08-24 00:01:44 +08:00
Revone 6bc894c5c1 Organized all the interfaces. Implemented the removeEdgeSrcToDest method for the Graph class. 2023-08-23 23:03:19 +08:00
Revone e70d988ac9 v1.18.6 published 2023-08-23 13:23:02 +08:00
Revone 60e08d3ac5 Successfully implemented recursive type inference for the BinaryTreeNode type by passing the node constructor through the constructor, effectively addressing the type inconsistency caused by invoking parent class methods after inheritance. 2023-08-22 22:50:16 +08:00
Revone c1b5969c51 Support TypeScript v5.1.6. Standardize all getters and setters. Adjust access permissions for accessors, set access permissions for protected or private member variables, and indicate them using the private identifier "_". 2023-08-21 16:17:01 +08:00
Revone 4813c6d783 v1.17.3 published 2023-08-20 21:08:25 +08:00
Revone 938df50847 v1.17.0 published 2023-08-20 01:02:11 +08:00
Revone 91c47c28c2 SinglyLinkedList reimplemented and tested 2023-08-19 23:12:16 +08:00
Revone 422c24cc16 v1.16.1 published 2023-08-18 22:40:36 +08:00
Revone 07231cd4c4 v1.15.2 published 2023-08-17 00:50:14 +08:00
Revone f040fd7699 v1.15.0 published 2023-08-16 22:49:29 +08:00
Revone 2d07c5e5af update Typescript version to 4.9.5, DirectedGraph tests completed, Remedial measures have been taken in TypeScript versions 5.0 and above to enforce consistent access modifiers for getters and setters., annotation content has been enriched. 2023-08-16 22:44:38 +08:00
Revone 9fac28cf35 v1.12.11 publish 2023-08-16 01:35:42 +08:00
Revone 02bc7c4b8f add function names 2023-08-16 01:35:16 +08:00