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
|
bbfa64fc64
|
fix: Fix the bug in the getCycles method. refactor: Rename some variables.
|
2023-12-19 12:15:44 +08:00 |
|
Revone
|
e113a99b26
|
fix: bug fixed #58, DirectedGraph.getCycles returns an inexisting cycle. feat: hasValue method for HashMap.
|
2023-12-12 09:57:30 +08:00 |
|
Revone
|
f0927e8b0a
|
docs: Wrote a feature description for each data structure. refactor: Standardize the import of all types and objects
|
2023-12-11 20:27:05 +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
|
1b1d5c6669
|
feat: The add method of the binary tree is compatible with the multi-parameter mode of add(key, value), and it is also compatible with the entry method.
|
2023-12-07 09:16:25 +08:00 |
|
Revone
|
f56542a07a
|
refactor: renamed variables
|
2023-12-06 11:32:04 +08:00 |
|
Revone
|
ce99f7988e
|
release: 1.48.4
|
2023-12-06 10:42:12 +08:00 |
|
Revone
|
6cc250606b
|
fix: bug fix for #51 . Removing a vertex from a DirectedGraph doesn't remove it's edges
|
2023-12-06 10:36:00 +08:00 |
|
Revone
|
241cb26a6f
|
fix: bug fix for #52
|
2023-12-06 09:18:23 +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
|
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
|
8f9eb82bfd
|
feat: To support conversion between data structures, Heap, PriorityQueue, Queue, Deque, SinglyLinkedList, DoublyLinkedList, and Stack have all added an 'elements' parameter for initializing the elements of the data structure.
|
2023-11-23 18:40:30 +08:00 |
|
Revone
|
be6ad5473b
|
style: Change ESLint configuration from error type to warning type. Format the code.
|
2023-11-16 11:55:40 +08:00 |
|
Revone
|
dd2701dab7
|
style: reformated codebase
|
2023-11-16 10:14:14 +08:00 |
|
Revone
|
8f1f6d6f52
|
style: Try to synchronize Prettier with the coding style of the IDE.
|
2023-11-13 22:27:29 +08:00 |
|
Revone
|
1064ad4a58
|
style: reformat code with IDE
|
2023-11-13 13:07:28 +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
|
8a518f95b7
|
[project] codebase reformated
|
2023-11-06 19:44:01 +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
|
a85ea70cee
|
[pkg] v1.41.9 published
|
2023-11-04 21:31:15 +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
|
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
|
8712bbd3c9
|
[core] All data structures have had their member variables access control optimized.
|
2023-10-31 11:15:39 +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
|
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
|
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
|
af23af911a
|
[binary-tree] renamed _loopType to _iterationType
|
2023-10-27 17:17:27 +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
|
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
|
9764f2a5c6
|
[binary-tree, graph] In order to optimize the design of Binary Trees, unnecessary abstract classe removed, while enforcing method constraints between base classes and subclasses through interfaces. For Graph, it is necessary to use an abstract class as the base class, and interface constraints should be applied. Any data structures that are not within the scope of the plan deleted.
|
2023-10-17 21:06:41 +08:00 |
|
Kirk Qi
|
dd7b641273
|
[heap, priority queue] Heap improved. References #123: redesigned
|
2023-10-15 22:09:26 +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
|
3bffa7320c
|
[core] rename id to key
|
2023-10-10 20:13:47 +08:00 |
|
Revone
|
45c49c99bf
|
[core] renamed id to key
|
2023-10-10 19:55:52 +08:00 |
|
Revone
|
bd25485555
|
[project] generic naming standardized
|
2023-09-26 13:50:40 +08:00 |
|
Revone
|
ea8f993a4a
|
[prettier] bracket spacing false
|
2023-09-22 10:43:16 +08:00 |
|
Revone
|
b263262a46
|
[project] github workflow added. eslint added. formating code by using prettier.
|
2023-09-21 12:52:17 +08:00 |
|
Revone
|
773c970667
|
Establish a unified code editor encoding standard by .editorconfig file.
|
2023-09-12 11:15:20 +08:00 |
|
Revone
|
450f051138
|
Optimize the overall codebase and directory structure.
|
2023-09-12 11:10:09 +08:00 |
|
Revone
|
c7e1887b96
|
v1.21.0 published
|
2023-09-07 22:28:00 +08:00 |
|