+
+ Binary Tree DFS |
+ Traverse a binary tree in a depth-first manner, starting from the root node, first visiting the left subtree,
+ and then the right subtree, using recursion.
+ |
+ Recursion + Iteration |
+
+
+ Binary Tree BFS |
+ Traverse a binary tree in a breadth-first manner, starting from the root node, visiting nodes level by level
+ from left to right.
+ |
+ Iteration |
+
+
+ Graph DFS |
+ Traverse a graph in a depth-first manner, starting from a given node, exploring along one path as deeply as
+ possible, and backtracking to explore other paths. Used for finding connected components, paths, etc.
+ |
+ Recursion + Iteration |
+
+
+ Binary Tree Morris |
+ Morris traversal is an in-order traversal algorithm for binary trees with O(1) space complexity. It allows tree
+ traversal without additional stack or recursion.
+ |
+ Iteration |
+
+
+ Graph BFS |
+ Traverse a graph in a breadth-first manner, starting from a given node, first visiting nodes directly connected
+ to the starting node, and then expanding level by level. Used for finding shortest paths, etc.
+ |
+ Recursion + Iteration |
+
+
+ Graph Tarjan's Algorithm |
+ Find strongly connected components in a graph, typically implemented using depth-first search. |
+ Recursion |
+
+
+ Graph Bellman-Ford Algorithm |
+ Finding the shortest paths from a single source, can handle negative weight edges |
+ Iteration |
+
+
+ Graph Dijkstra's Algorithm |
+ Finding the shortest paths from a single source, cannot handle negative weight edges |
+ Iteration |
+
+
+ Graph Floyd-Warshall Algorithm |
+ Finding the shortest paths between all pairs of nodes |
+ Iteration |
+
+
+ Graph getCycles |
+ Find all cycles in a graph or detect the presence of cycles. |
+ Recursion |
+
+
+ Graph getCutVertexes |
+ Find cut vertices in a graph, which are nodes that, when removed, increase the number of connected components in
+ the graph.
+ |
+ Recursion |
+
+
+ Graph getSCCs |
+ Find strongly connected components in a graph, which are subgraphs where any two nodes can reach each other.
+ |
+ Recursion |
+
+
+ Graph getBridges |
+ Find bridges in a graph, which are edges that, when removed, increase the number of connected components in the
+ graph.
+ |
+ Recursion |
+
+
+ Graph topologicalSort |
+ Perform topological sorting on a directed acyclic graph (DAG) to find a linear order of nodes such that all
+ directed edges go from earlier nodes to later nodes.
+ |
+ Recursion |
+
+
+