Commit graph

153 commits

Author SHA1 Message Date
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
Revone d761e79e4d fix: Bug fix for 'resize', 'insertAt', and 'deleteAt'. 2023-11-17 18:44:14 +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 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 65af9d6f20 docs: Added development umd module 2023-11-13 22:30:59 +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 cffe084c2b docs: README.md modified 2023-11-10 23:50:57 +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 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
Revone f15792c529 [project] tables optimization of README.md 2023-11-06 11:01:32 +08:00
Revone 8acd2e3c9b [docs] Remove the first column from the data structure comparison table in various programming languages. 2023-11-05 21:42:35 +08:00
Revone d6b394446a [binary-tree] All traversal methods offer an includeNull parameter to support the output of null nodes. 2023-11-05 21:19:59 +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 5af93dda72 [benchmark] Determine the order of magnitude for most performance tests. Report metric reductions. 2023-11-04 17:28:52 +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 0ab8054f52 [pkg] v1.41.5 published 2023-11-04 01:35:21 +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 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 31c228668e [optimization] allow all list datatype delete methods to accept null as an input argument 2023-10-26 16:45:08 +08:00
Revone a6329163f7 1. No need for dfsIterative; integrate it directly into the dfs method. 2. Allow for public configuration of setLoopType. 3. Replace subTreeAdd with subTreeForeach for improved clarity and flexibility; provide a callback for enhanced versatility. 4. Standardize the naming of certain methods and parameters. 2023-10-21 20:03:54 +08:00
Revone ba9cd51a6a [project] enrich the scripts of ci 2023-10-19 09:21:00 +08:00
Revone b10400e9c5 [pkg] v1.36.3 published 2023-10-17 23:52:24 +08:00
Revone e96a4be5ea [readme] Move all the badges to the top 2023-10-10 22:18:39 +08:00
Revone f08819eb83 [core] In order to adhere to best practices, rename the DFS method and the BFS method as dfs and bfs. 2023-10-10 22:15:01 +08:00
Revone 0c5df67215 [readme] badages updated 2023-10-10 17:22:18 +08:00
Revone 092ac731b4 [pkg] v1.33.8 published 2023-10-05 10:37:42 +08:00
Revone 4365e5959f [README] updated 2023-09-29 17:45:36 +08:00
Revone 1687f3cde8 [core] HashTable, HashMap, SkipList implemented 2023-09-29 17:37:30 +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 9140567d73 [pkg] ready to publish v1.33.2 2023-09-26 17:09:28 +08:00
Revone bd25485555 [project] generic naming standardized 2023-09-26 13:50:40 +08:00
Revone 89451d2c03 [README] data structures comparation 2023-09-26 12:49:33 +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 45ac7d8d5f [pkg] keywords optimization 2023-09-24 21:31:09 +08:00
Revone c5266267a5 [README] simplified 2023-09-22 11:24:33 +08:00
Revone ae69def973 [README] ready to modify 2023-09-22 11:20:33 +08:00
Revone 474f4315f7 [badges] coverage badges removed 2023-09-22 10:45:56 +08:00
Revone 25c88edcd6 [README] badges added. 2023-09-22 10:40:12 +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 95b44f439b [project] ESLint applied 2023-09-20 11:39:24 +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 3d804cf13b vivid-algorithm 2023-09-12 11:43:25 +08:00
Revone 450f051138 Optimize the overall codebase and directory structure. 2023-09-12 11:10:09 +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 c7e1887b96 v1.21.0 published 2023-09-07 22:28:00 +08:00
Revone bd71edc536 images removed, heap docs revised 2023-08-31 00:50:23 +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 87b7e420b5 remove createNode function from every Binary Tree Nodes 2023-08-28 20:04:43 +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 0b330aeadd Enable adding nodes using both Vertex instances and the vertex parameter in the Graph. For adding edges, support both Edge instances and the src, dest parameter approach simultaneously. 2023-08-27 22:26:30 +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 dcfa5f1545 Demo pictures added 2023-08-20 22:11:51 +08:00
Revone e8f06223dd To enhance visibility, a link to the API Documentation has been added. 2023-08-18 22:56:55 +08:00
Revone 4f1aefd505 Order ajustment 2023-08-17 21:31:18 +08:00
Revone 5d88eb8f14 .md modified 2023-08-17 09:22:55 +08:00
Revone b029c2dd5a .md modified 2023-08-17 09:09:38 +08:00
Revone e486687430 .md modified 2023-08-17 00:53:27 +08:00
Revone 07231cd4c4 v1.15.2 published 2023-08-17 00:50:14 +08:00
Revone 1ba247863a README.md improved 2023-08-16 22:48:14 +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 02bc7c4b8f add function names 2023-08-16 01:35:16 +08:00
Revone 09a023d9aa remove enums from docs 2023-08-14 09:03:05 +08:00
Revone 4d6e2cb453 mistake fixed 2023-08-14 09:01:54 +08:00
Revone 763a226409 api docs list in README.md 2023-08-14 08:59:00 +08:00
Revone d5e64f8127 api docs deploied, graph basic test completed 2023-08-14 08:47:26 +08:00
Revone 5d25e6f05b images cropped 2023-08-13 19:59:28 +08:00
Revone 92d6b38d58 README.md refined 2023-08-12 23:23:09 +08:00
Revone c6e933acf0 All code annotations have been completed. 2023-08-12 11:35:25 +08:00
Revone 7b885191fd APIs 2023-08-11 19:21:34 +08:00
Revone 7235126c62 Instructure of using the package 2023-08-11 12:02:16 +08:00