Question

You are given a directed acyclic graph G(V,E), where each vertex v that has in-degree 0...

You are given a directed acyclic graph G(V,E), where each vertex v that has in-degree 0 has a value value(v) associated with it. For every other vertex u in V, define Pred(u) to be the set of vertices that have incoming edges to u. We now define value(u) = ?v∈P red(u) value(v). Design an O(n + m) time algorithm to compute value(u) for all vertices u where n denotes the number of vertices and m denotes the number of edges in G. You can assume that G is given to you in the adjacency-list representation.

Homework Answers

Answer #1

Since the Graph is a DAG we can Topologically sort it.

and then add the value of nodes 'v' that do not have incoming edge to the nodes having edge from v.

Algorithm:

Topologically Sort G   

repeat until |G|>0

      find a vertex v having no incoming edge

      add its value to all vertices 'u' present in the adjacency list of v

     remove v

Time complexity : Topological sort takes O(m+n)

since the graph is already topologically sorted, finding vertex with no incoming edge takes O(1) time (it is the one with largest finishing time)

each vertex is removed once and same is with the edge so removal of verteices and edges take O(m+n) time. So total time taken is O(m+n)

Know the answer?
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for?
Ask your own homework help question
Similar Questions
Given a directed acyclic graph G= (V,E), vertex s∈V, design a dynamic programming algorithm to compute...
Given a directed acyclic graph G= (V,E), vertex s∈V, design a dynamic programming algorithm to compute the number of distinct paths from s to v for any v∈V. 1. Define subproblems 2. Write recursion 3. Give the pseudo-code 4. Analyze the running time.
# Problem Description Given a directed graph G = (V,E) with edge length l(e) > 0...
# Problem Description Given a directed graph G = (V,E) with edge length l(e) > 0 for any e in E, and a source vertex s. Use Dijkstra’s algorithm to calculate distance(s,v) for all of the vertices v in V. (You can implement your own priority queue or use the build-in function for C++/Python) # Input The graph has `n` vertices and `m` edges. There are m + 1 lines, the first line gives three numbers `n`,`m` and `s`(1 <=...
A spanning tree of connected graph G = (V, E) is an acyclic connected subgraph (V,...
A spanning tree of connected graph G = (V, E) is an acyclic connected subgraph (V, E0 ) with the same vertices as G. Show that every connected graph G = (V, E) contains a spanning tree. (It is the connected subgraph (V, E0 ) with the smallest number of edges.)
Design an algorithm that for a given DAG G = (V, E) checks/recognizes if G is...
Design an algorithm that for a given DAG G = (V, E) checks/recognizes if G is semi-connected in time O(|V | + |E|). A directed graph G = (V, E) is called semi-connected if and only if for every two vertices u, v ∈ V there is a directed path from u to v or from v to u
we consider a graph G= (V, E), with n=|V| and m=|E|. Describe an O(n+m) time algorithm...
we consider a graph G= (V, E), with n=|V| and m=|E|. Describe an O(n+m) time algorithm to find such a vertex w. Hint: a depth-first search from u might be helpful.
Suppose that we generate a random graph G = (V, E) on the vertex set V...
Suppose that we generate a random graph G = (V, E) on the vertex set V = {1, 2, . . . , n} in the following way. For each pair of vertices i, j ∈ V with i < j, we flip a fair coin, and we include the edge i−j in E if and only if the coin comes up heads. How many edges should we expect G to contain? How many cycles of length 3 should we...
Problem 2. Consider a graph G = (V,E) where |V|=n. 2(a) What is the total number...
Problem 2. Consider a graph G = (V,E) where |V|=n. 2(a) What is the total number of possible paths of length k ≥ 0 in G from a given starting vertex s and ending vertex t? Hint: a path of length k is a sequence of k + 1 vertices without duplicates. 2(b) What is the total number of possible paths of any length in G from a given starting vertex s and ending vertex t? 2(c) What is the...
In this exercise you're going to implement a graph class using an adjacency matrix of size...
In this exercise you're going to implement a graph class using an adjacency matrix of size 26x26. This allows up to 26 vertices, which will be denoted by the uppercase letters A .. Z. Initially a graph is empty, and then vertices and edges are added. Edges are directed, and have weights. Example: (A, B, 100) denotes an edge from A to B with weight 100; there is no edge from B to A unless one is explicitly added. A...
Take the following graph: G(V, E) where V = {A, B, C, D, E} E =...
Take the following graph: G(V, E) where V = {A, B, C, D, E} E = { {A,B}, {B,C}, {C, A}. {B, D}, {B, E}, {D, E}} is this graph directed or undirected? write down the degree of each vertex. write down all the cycles in this graph.
Let G be a graph where every vertex has odd degree, and G has a perfect...
Let G be a graph where every vertex has odd degree, and G has a perfect matching. Prove that if M is a perfect matching of G, then every bridge of G is in M. The Proof for this question already on Chegg is wrong