Revone
5c9f4fd483
fix : #74 . Refactor: Implement the Tarjan algorithm separately for DirectedGraph and UndirectedGraph. In the previous design, the tarjan method was placed in the AbstractGraph class. However, Tarjan algorithm is used to find connected components in directed graphs and to solve bridges, articulation points, determine the presence of cycles (though not all), and biconnected components in undirected graphs. The algorithm for finding all cycles in the graph can be shared between directed and undirected graphs using the getCycles method.
2024-01-07 22:25:25 +08:00
Revone
e91970c09f
refactor: Directly constrain the methods clear, map, and filter in the base class.
...
feat: Implement the clear method in DirectedGraph, UndirectedGraph, and Trie.
docs: Add SPECIFICATION.md, SPONSOR.md, and SPONSOR_zh-CN.md. Adjust badge order and add a new contributor count badge.
2024-01-06 17:50:00 +08:00
Revone
ba16f311c3
Refactor: Organize the access permissions of all member variables. Docs: Partial documentation for time and space complexity.
2024-01-05 15:37:28 +08:00
Revone
cd2db0b45e
release: 1.50.2
2024-01-04 16:28:50 +08:00
Revone
eaf8912746
docs: Verify the time and space complexity for each method.
...
feat: Add the cutRest method to Deque.
refactor: Update the cut method in Deque to support the isCutSelf parameter.
2024-01-04 16:28:17 +08:00
zrwusa
ce6440bfa2
Merge pull request #69 from Oaz/main
...
Tests for DirectedGraph.tarjan
2024-01-03 16:01:43 +08:00
Revone
ecf4d6ad11
fix: Fix bug #71 .
...
feat: Define abstract methods through a base class to add clone and isEmpty methods to all data structures. Add delete and deleteAt methods to Deque, Queue, and Stack data structures.
refactor: Optimize the type definition N to NODE for alignment with the design of TREE.
2024-01-03 15:52:10 +08:00
Olivier Azeau
ba6b666b44
Merge branch 'zrwusa:main' into main
2024-01-02 08:46:30 +01:00
Olivier Azeau
b965ec22db
added tests for DirectedGraph.tarjan
2024-01-02 08:45:55 +01:00
Revone
58ea2cb3c3
docs: Complete all code comments.
2024-01-01 10:45:32 +08:00
Revone
831ad3bd98
refactor: rename method 'getAt' to 'at'
2023-12-30 20:36:11 +08:00
Revone
ff8f907192
feat: In the IterableEntryBase and IterableElementBase classes, add find, get, and has methods so that all inheriting data structures can have access to these methods. Also, override these methods in the necessary data structures as needed.
2023-12-30 18:44:24 +08:00
Revone
c28deb8d81
refactor: Rename exemplarToNode to keyValueOrEntryToNode. feat: Implement the clone method for all data structures.
2023-12-30 17:50:57 +08:00
Revone
ec649bd8bb
test: reorgnization. docs: improved a lit bit
2023-12-30 11:49:59 +08:00
Revone
6b3d8b9fa5
release: 1.50.1
2023-12-29 21:50:53 +08:00
Revone
12abe48b33
chore: SEO optimization
2023-12-29 21:50:20 +08:00
Revone
a9c556fce3
docs:Sequential Organization
2023-12-29 16:42:20 +08:00
Revone
baf1be4035
release: 1.50.0. docs: traversal methods
2023-12-29 11:24:25 +08:00
Revone
34d4abd9e6
fix : #38 Removed includeNull parameter from traversal methods.
...
feat: Removed unnecessary methods isNotNodeInstance and subTreeTraverse.
refactor: Organized the overloads of traversal methods.
2023-12-29 11:15:19 +08:00
Revone
8fd35dd1f8
release: 1.49.9
2023-12-25 20:25:13 +08:00
Revone
689aa0f57e
feat: Provide convenient option of the raw data processing function 'toEntry' in HashMap.options.
2023-12-25 20:24:41 +08:00
Revone
eb590d6c27
feat: Remove support for the 'variant' option parameter in Red-Black Tree, meaning no support for reverse Red-Black Tree.
...
fix: Fix bug in the return value of the Red-Black Tree delete method.
test: Test the clone methods of all the binary tree data structures.
2023-12-25 10:56:04 +08:00
Revone
50a5c06798
release: 1.49.7
2023-12-24 17:55:42 +08:00
Revone
fa9e3dbac4
docs: Enhance the explanation of the theory that respects computer science.
2023-12-24 17:54:51 +08:00
Revone
c949b5b741
refactor: Rearrange constructor parameters for all data structures, with the first parameter being the output and the second parameter being a configuration object. Make all configuration object properties optional.
...
fix: Provide optional parameters for inheritable data structures to facilitate inheritance. #64
2023-12-24 17:44:55 +08:00
Revone
fdf5d06245
release: 1.49.6
2023-12-23 12:07:50 +08:00
Revone
d57d6072c2
fix: Fix bug in BST.isBST to make it compatible with inverse BST.
...
refactor: Use KeyOrNodeOrEntry as the parameter type consistently in the binary tree data structure.
test: Remove unnecessary performance reports and refactor loop code to use single lines wherever possible.
2023-12-23 11:53:18 +08:00
Revone
677340e99c
refactor: Remove isSubtreeBST; using isBST alone is sufficient. Update BSTVariant to use STANDARD and INVERSE instead of MIN and MAX.
...
feat: Enhance isBST to support the detection of inverse binary search trees.
2023-12-23 09:41:04 +08:00
Revone
0708509f3e
release: 1.49.5
2023-12-22 20:04:08 +08:00
Revone
2247316d16
refactor: Remove the _addTo method from BinaryTree and TreeMultiMap.
...
feat: Reimplement Matrix.
docs: Use typedoc.json configuration to only output class documentation.
2023-12-22 19:59:38 +08:00
Revone
dc6ef95f78
style: code base reformat
2023-12-21 10:26:45 +08:00
Revone
bc000105d8
release: 1.49.4
2023-12-21 10:08:59 +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
6ceaf21fba
release: 1.49.2
2023-12-15 09:53:59 +08:00
Revone
3e97e806ba
refactor: Unify the return types of all methods and align them with Java, extract the print and hasValue methods to base class. This will make the code more consistent and easier to understand.
2023-12-12 21:14:17 +08:00
Revone
61369adbdd
test: Refine the test cases.
2023-12-12 10:13:34 +08:00
Revone
4d88405ac1
release: 1.49.1
2023-12-12 10:05:36 +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
60a3154178
refactor: Differentiate between type imports and regular object imports.
2023-12-11 14:14:46 +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
1fc47918d2
refactor: Add an isNotNodeInstance method to every binary tree data structure to prevent node type errors. The getSuccessor method of Red-Black trees uniformly utilizes the getSuccessor method from BinaryTree.
2023-12-11 09:02:26 +08:00
Revone
26208e9157
release: 1.48.9
2023-12-08 20:03:48 +08:00
Revone
93201bddba
perf: The add method of BinaryTree doesn't need to check for existence first, it can detect and add in a single traversal. Feat: Discard the ObjectDeque data structure. test: Increased test coverage for Deque and Queue.
2023-12-08 19:54:13 +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
7270a27425
docs: Benchmarking metrics compared to native JavaScript
2023-12-08 09:15:29 +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
aff29b3568
docs: Why use our data structures.
2023-12-07 15:37:50 +08:00