Commit graph

245 commits

Author SHA1 Message Date
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
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