Commit graph

515 commits

Author SHA1 Message Date
zrwusa 63003187ef
Merge pull request #29 from zrwusa/graph
[graph] Modify the data structure design of the graph to change the g…
2023-10-30 18:28:26 +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 edad774263 [project] IDE formated 2023-10-27 18:07:40 +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 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 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
zrwusa 44c29d89fc
Merge pull request #23 from zrwusa/optimization
Optimization
2023-10-24 00:06:23 +08:00
Revone 6c9578368c [binary-tree] Add an 'iterationType' parameter to all methods compatible with both recursion and iteration, allowing for specifying a particular iteration method in each method. 2023-10-24 00:03:48 +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
zrwusa 8e2d3f9c57
Merge pull request #20 from zrwusa/optimization
Optimization
2023-10-23 03:04:19 +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
zrwusa f05793ee88
Merge pull request #18 from zrwusa/optimization
[binary-tree, graph] Replace all code that uses Arrays as makeshift Q…
2023-10-21 23:56:43 +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 284e85e76b [pkg] v1.36.9 published 2023-10-21 20:19:35 +08:00
zrwusa 5825d3f83d
Merge pull request #17 from zrwusa/optimization
1. No need for dfsIterative; integrate it directly into the dfs metho…
2023-10-21 20:04:45 +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 39baccd17c [pkg] v1.36.8 published 2023-10-21 02:02:13 +08:00
zrwusa ef05fdee75
Merge pull request #15 from zrwusa/heap
[heap] fibonacci heap implemented. [test] big O estimate. [project] n…
2023-10-21 02:00:33 +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 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 19221d698f [rbtree] almost there, RBTree has been implemented, but with bugs in deletion 2023-10-19 21:05:34 +08:00
Revone 9a90ae40fc [pkg] v1.36.6 published 2023-10-19 21:05:12 +08:00
Revone d2d9ac6e1c [project] CONTRIBUTING.md enriched 2023-10-19 09:53:49 +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 cb47afea1e
Merge pull request #13 from zrwusa/rbtree
[rbtree] implemented, but with bugs
2023-10-19 09:29:16 +08:00
zrwusa a0c9c17345
Merge branch 'main' into rbtree 2023-10-19 09:29:01 +08:00