Commit graph

155 commits

Author SHA1 Message Date
Revone
dc6ef95f78 style: code base reformat 2023-12-21 10:26:45 +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
61369adbdd test: Refine the test cases. 2023-12-12 10:13:34 +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
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
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
1c8324147f feat: The addMany method in binary tree data structures supports both addMany(keys, values) and addMany(entries). 2023-12-07 10:19:17 +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
7f5eb6cb70 refactor: Extract all methods such as 'some', 'every', 'entries', 'keys', 'values', 'forEach', 'reduce' into the base classes 'IterableElementBase' and 'IterablePairBase'. 2023-12-02 22:15:18 +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
f3df66eef3 refactor: In Graph data structures, only use 'undefined' and abandon the design where both 'null' and 'undefined' coexist. 2023-11-26 20:11:29 +08:00
Revone
76db084bda refactor: Explicitly call the super.addMany method. chore: reformat project configs 2023-11-25 20:59:34 +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
5cf88d098e feat: All data structures except Graph have implemented *[Symbol.iterator], forEach, filter, map, reduce methods. 2023-11-23 13:19:13 +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
3205f90cf6 docs: Reorganize some content in the README 2023-11-22 19:00:06 +08:00
Revone
b53156fb48 fix: createTree return type check 2023-11-22 17:37:43 +08:00
Revone
edbbf4a951 fix: type check for 'typeof this' is not supported in TS 4.9.5 2023-11-22 17:31:51 +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
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
d3a6bdac25 fix: type error fixed. docs: Remove unnecessary 'Software Engineering Design Standards'. 2023-11-20 15:14:13 +08:00
Revone
1e2013df5e refactor: Eliminate unnecessary data structures. test: Add performance comparison tests with native Map and Set. 2023-11-20 09:51:34 +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
fa92ddfdaa perf: Implemented a high-performance Heap. docs: Software Engineering Standard Form. 2023-11-17 10:47:13 +08:00
Revone
589dcbff35 docs: Add online algorithm visualization links. 2023-11-16 21:43:45 +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
649101ebe0 release: v 1.43.1 2023-11-13 00:03:42 +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
cef8b04a9f chore: Add comments for the time and space complexity of all methods for the BinaryTree. 2023-11-10 11:01:49 +08:00
Revone
d682a609f9 release: v1.42.8 2023-11-09 20:48:06 +08:00
Revone
28207b6d45 perf: Unified all APIs, all parameters that accept node types can also accept node keys as parameters. 2023-11-09 17:47:02 +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
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
be38422de9 [test] null should be ignored in travesal method in BST 2023-11-06 19:36:09 +08:00
Revone
25b9e1e9e4 [graph] To facilitate users who are not familiar with the Tarjan algorithm, provide the following methods: getCycles, getSCCs, getBridges, getCutVertexes, getDFNMap, and getLowMap. 2023-11-06 14:47:00 +08:00