Strongly Connected Components Kosaraju Algorithm Flashcards

1
Q

Front

A

Back

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a Strongly Connected Component (SCC)?

A

A subset of vertices in a directed graph where every vertex is reachable from every other vertex in the subset.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a Maximal Strongly Connected Component (MSCC)?

A

An SCC that is not part of a larger SCC; it cannot be extended without losing strong connectivity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the transpose of a graph (Gᵗ)?

A

A graph obtained by reversing the direction of every edge in the original graph.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are discovery and finish times in DFS?

A

Discovery time is when a node is first visited; finish time is when all its descendants are fully explored.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does the first DFS in Kosaraju’s algorithm do?

A

It computes discovery and finish times and orders nodes by descending finish time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Why is finish time important in Kosaraju’s algorithm?

A

It helps sort nodes so that the DFS on the transposed graph discovers SCCs correctly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does the second DFS in Kosaraju’s algorithm do?

A

It performs DFS on the transposed graph in order of descending finish times to find each SCC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the Super Graph in SCC context?

A

A graph where each node represents an SCC and the edges show inter-SCC connections.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why does Kosaraju’s algorithm work?

A

Because the descending finish time order in DFS simulates a topological sort of the super graph.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the time complexity of Kosaraju’s algorithm?

A

O(V + E), where V is the number of vertices and E is the number of edges.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How do you reverse a graph in adjacency list form?

A

For every edge u → v, add v → u in the reversed graph.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What happens if you do DFS on the transposed graph in arbitrary order?

A

You may not isolate SCCs correctly; order must be descending by finish times from the first DFS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does Kosaraju’s algorithm isolate SCCs?

A

By performing DFS from unvisited nodes in descending order of original finish times on the transposed graph.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly