Commit graph

224 commits

Author SHA1 Message Date
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
e9f2359365 [binary-tree] Let the get method call getNode instead of getNodes. [rbtree] Use rigorous testing to verify that the properties of nodes in a red-black tree adhere to the red-black tree rules after insertion and deletion. 2023-11-01 17:51:38 +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
82168eb4a2 [rbtree] Currently, the insertion and deletion of 1000 data entries are supported. However, when the data volume increases to 10000 entries, null value issues are bound to arise due to repetitive deletions and additions. 2023-10-31 23:21:54 +08:00
Revone
ed7ead3744 [rbtree] The first successful implementation of Red-Black Tree. 2023-10-31 22:31:56 +08:00
Revone
10bbcffcef [pkg] v1.40.0 published 2023-10-31 11:22:21 +08:00
Revone
8712bbd3c9 [core] All data structures have had their member variables access control optimized. 2023-10-31 11:15:39 +08:00
Revone
1ec5a19172 [core] Besides Binary Trees and Graphs, access control optimizations have been applied to member variables. 2023-10-31 10:34:41 +08:00
Revone
3009c14c24 [queue] Added some alias methods. 2023-10-31 09:03:06 +08:00
Revone
121516f303 [core] Rename all 'val' variables to 'value'. 2023-10-30 20:27:08 +08:00
Revone
fcec29f32c [graph test] edge cases enriched 2023-10-30 20:08:25 +08:00
Revone
d44788bea9 [graph] Modify the data structure design of the graph to change the generics of Vertex and Edge to defaults, where it is possible to only pass the value types of Vertex and Edge for increased usability. 2023-10-30 18:27:58 +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
f8e0607b25 [trie] The Trie's getWords method now offers an optional parameter to retrieve all words in case of an empty string input. 2023-10-28 15:50:42 +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
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
23cbdbabca [binary-tree] bfs simplified 2023-10-25 21:11:11 +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
063b702236 [project] Achieve a rational subpackage structure that enables individual subpackages to be independently exportable. 2023-10-25 11:19:03 +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
3983ab089c [binary-tree] Each method that traverses based on the root node can specify any node within the tree as the root node. 2023-10-23 22:36:49 +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
0417ee5009 [binary-tree] Translate all traversal methods into callback function forms to enhance API convenience and readability. 2023-10-23 03:02:12 +08:00
Revone
af7372ba30 [pkg] ready to publish v1.37.0 2023-10-22 00:00:22 +08:00
Revone
3a86a5c37d [binary-tree, graph] Replace all code that uses Arrays as makeshift Queues with actual Queues to improve efficiency. [binary-tree] Remove most methods for calculating sums and modifying properties, adopting a generic callback-based design. [bst] Enable default batch addition in BST using sorted binary insertion to maintain tree balance as much as possible. 2023-10-21 23:56:14 +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
cb56b04af5 [test] big o estimate refined 2023-10-21 14:46:41 +08:00
Revone
961e4e5f8c [heap] fibonacci heap implemented. [test] big O estimate. [project] no-unused-vars config to warn 2023-10-21 01:59:10 +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
2953ec61af [git] Overwrite the rbtree branch based on the old version of the main branch 2023-10-19 09:42:24 +08:00
zrwusa
a0c9c17345
Merge branch 'main' into rbtree 2023-10-19 09:29:01 +08:00
Revone
08afafe693 [trie] renamed ambiguous methods and add comments to all methods. 2023-10-18 18:54:33 +08:00
Revone
47fcfabae7 [binarytree] modified the getDepth method to adhere to the proper definition of "tree depth." 2023-10-18 18:28:36 +08:00
Revone
9cf303edd4 Merge branch 'main' into trie 2023-10-18 17:11:30 +08:00
Revone
56e1f05b59 [tree] tests passed 2023-10-18 17:10:31 +08:00
Revone
1627b633bd [trie] getHeight returns faulty height bug fixed. Variables renamed for best practice 2023-10-18 17:05:38 +08:00
Revone
dc2394ae4d [trie] console.log removed from test of trie 2023-10-18 16:35:49 +08:00
Revone
36153238b7 [trie] support casesensitivity. getWords bug fixed 2023-10-18 14:57:47 +08:00