forked from algorithm-visualizer/algorithm-visualizer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdesc.json
More file actions
30 lines (30 loc) · 1.39 KB
/
desc.json
File metadata and controls
30 lines (30 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"DFS": "Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. One starts at the root (selecting some arbitrary node as the root in the case of a graph) and explores as far as possible along each branch before backtracking.",
"Applications": [
"Finding connected components.",
"Topological sorting.",
"Finding 2-(edge or vertex)-connected components.",
"Finding 3-(edge or vertex)-connected components.",
"Finding the bridges of a graph.",
"Generating words in order to plot the Limit Set of a Group.",
"Finding strongly connected components.",
"Planarity testing",
"Solving puzzles with only one solution, such as mazes. (DFS can be adapted to find all solutions to a maze by only including nodes on the current path in the visited set.)",
"Maze generation may use a randomized depth-first search.",
"Finding biconnectivity in graphs."
],
"Complexity": {
"time": "worst $O(|E|)$",
"space": "worst $O(|V|)$"
},
"References": [
"<a href='https://en.wikipedia.org/wiki/Depth-first_search'>Wikipedia</a>"
],
"files": {
"tree": "Searching a tree",
"all_paths": "Going through all possible paths without making any circuit",
"weighted_graph": "DFS of Weighted Graph",
"shortest_path": "Finding the shortest path",
"exploration": "Explore an undirected graph to see if it is connected"
}
}