Introduction to Algorithms
3rd Edition
ISBN: 9780262033848
Author: Thomas H. Cormen, Ronald L. Rivest, Charles E. Leiserson, Clifford Stein
Publisher: MIT Press
expand_more
expand_more
format_list_bulleted
Question
Chapter 22.1, Problem 4E
Program Plan Intro
To describe the
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Suppose we represent a graph G = (V,E) as an adjacency matrix. Give a simple
Implementation via pseudo code of Prim's algorithm for this case that runs in 0(V²) time.
Explain why your code the running time has the upper bound as 0(v²).
Consider a weighted, directed graph G with n vertices and m edges that have
integer weights. A graph walk is a sequence of not-necessarily-distinct vertices v1,
v2, ... , Vk such that each pair of consecutive vertices Vi, Vi+1 are connected by an
edge. This is similar to a path, except a walk can have repeated vertices and edges.
The length of a walk in a weighted graph is the sum of the weights of the edges in
the walk. Let s, t be given vertices in the graph, and L be a positive integer. We are
interested counting the number of walks from s to t of length exactly L.
Assume all the edge weights are positive. Describe an algorithm that computes
the number of graph walks from s to t of length exactly L in O((n+ m)L) time. Prove
the correctness and analyze the running time. (Hint: Dynamic Programming
solution)
Consider the Minimum-Weight-Cycle Problem:
Input: A directed weighted graph G
(V, E) (where the weight of edge e is w(e)) and an integer k.
Output: TRUE if there is a cycle with total weight at most k and FALSE if there is no cycle with total
weight at most k.
Remember, a cycle is a list of vertices such that each vertex has an edge to the next and the final vertex has an edge to
the first vertex. Each vertex can only occur once in the cycle. A vertex with a self-loop forms a cycle by itself.
(a) Assume that all edge weights are positive. Give a polynomial-time algorithm for the Minimum-Weight-Cycle
Problem. For full credit, you should:
- Give a clear description of your algorithm. If you give pseudocode, you should support it with an expla-
nation of what the algorithm does.
Give the running time of your algorithm in terms of the number of vertices n and the number of edges m.
You do not need to prove the correctness of your algorithm or the correctness of your running time
analysis.
Chapter 22 Solutions
Introduction to Algorithms
Ch. 22.1 - Prob. 1ECh. 22.1 - Prob. 2ECh. 22.1 - Prob. 3ECh. 22.1 - Prob. 4ECh. 22.1 - Prob. 5ECh. 22.1 - Prob. 6ECh. 22.1 - Prob. 7ECh. 22.1 - Prob. 8ECh. 22.2 - Prob. 1ECh. 22.2 - Prob. 2E
Ch. 22.2 - Prob. 3ECh. 22.2 - Prob. 4ECh. 22.2 - Prob. 5ECh. 22.2 - Prob. 6ECh. 22.2 - Prob. 7ECh. 22.2 - Prob. 8ECh. 22.2 - Prob. 9ECh. 22.3 - Prob. 1ECh. 22.3 - Prob. 2ECh. 22.3 - Prob. 3ECh. 22.3 - Prob. 4ECh. 22.3 - Prob. 5ECh. 22.3 - Prob. 6ECh. 22.3 - Prob. 7ECh. 22.3 - Prob. 8ECh. 22.3 - Prob. 9ECh. 22.3 - Prob. 10ECh. 22.3 - Prob. 11ECh. 22.3 - Prob. 12ECh. 22.3 - Prob. 13ECh. 22.4 - Prob. 1ECh. 22.4 - Prob. 2ECh. 22.4 - Prob. 3ECh. 22.4 - Prob. 4ECh. 22.4 - Prob. 5ECh. 22.5 - Prob. 1ECh. 22.5 - Prob. 2ECh. 22.5 - Prob. 3ECh. 22.5 - Prob. 4ECh. 22.5 - Prob. 5ECh. 22.5 - Prob. 6ECh. 22.5 - Prob. 7ECh. 22 - Prob. 1PCh. 22 - Prob. 2PCh. 22 - Prob. 3PCh. 22 - Prob. 4P
Knowledge Booster
Similar questions
- 3) The graph k-coloring problem is stated as follows: Given an undirected graph G= (V,E) with N vertices and M edges and an integer k. Assign to each vertex v in V a color c(v) such that 1arrow_forwardPlease Answer this in Python language: You're given a simple undirected graph G with N vertices and M edges. You have to assign, to each vertex i, a number C; such that 1 ≤ C; ≤ N and Vi‡j, C; ‡ Cj. For any such assignment, we define D; to be the number of neighbours j of i such that C; < C₁. You want to minimise maai[1..N) Di - mini[1..N) Di. Output the minimum possible value of this expression for a valid assignment as described above, and also print the corresponding assignment. Note: The given graph need not be connected. • If there are multiple possible assignments, output anyone. • Since the input is large, prefer using fast input-output methods. Input 1 57 12 13 14 23 24 25 35 Output 2 43251 Qarrow_forwardGiven a graph that is a tree (connected and acyclic). (I) Pick any vertex v.(II) Compute the shortest path from v to every other vertex. Let w be the vertex with the largest shortest path distance.(III) Compute the shortest path from w to every other vertex. Let x be the vertex with the largest shortest path distance. Consider the path p from w to x. Which of the following are truea. p is the longest path in the graphb. p is the shortest path in the graphc. p can be calculated in time linear in the number of edges/verticesarrow_forwardGiven a graph G = (V;E) an almost independent set I V is a generalization of an independent set whereeach vertex u 2 I is connected to at most one other vertex in I but no more. In other words for all u; v 2 Iif (u; v) 2 E then (u; z) =2 E for all z 2 I (equvalently (v; z) =2 E). Note that every independent set is alsoalmost independent. Prove that the problem of nding whether there exists an almost independent set ofsize k for some k, is NP-complete.arrow_forwardConsider the Minimum-Weight-Cycle Problem: Input: A directed weighted graph G = :(V, E) (where the weight of edge e is w(e)) and an integer k. Output: TRUE if there is a cycle with total weight at most k and FALSE if there is no cycle with total weight at most k. Remember, a cycle is a list of vertices such that each vertex has an edge to the next and the final vertex has an edge to the first vertex. Each vertex can only occur once in the cycle. A vertex with a self-loop forms a cycle by itself. (a) Assume that all edge weights are positive. Give a polynomial-time algorithm for the Minimum-Weight-Cycle Problem. For full credit, you should: Give a clear description of your algorithm. If you give pseudocode, you should support it with an expla- nation of what the algorithm does. Give the running time of your algorithm in terms of the number of vertices n and the number of edges m. - You do not need to prove the correctness of your algorithm or the correctness of your running time…arrow_forwardGiven a graph that is a tree (connected and acyclic). (1) Pick any vertex v. (II) Compute the shortest path from v to every other vertex. Let w be the vertex with the largest shortest path distance. (III) Compute the shortest path from w to every other vertex. Let x be the vertex with the largest shortest path distance. Consider the path p from w to x. Which of the following are true a. p is the longest path in the graph b. p is the shortest path in the graph c. p can be calculated in time linear in the number of edges/vertices a,c a,b a,b,c b.carrow_forwardGiven an undirected graph G, and a path P, we want to verify that P is a cycle that contains all nodes in the graph (each node occurs on P exactly once, no repetition is allowed).In numbered steps, describe a polynomial-time verifier that checks if a given path P has the described properties (meaning that it is a cycle and it contains all nodes in the graph, with each node appearing on the path exactly once).(Hint: you can think of it in terms of this question: what does the verifier need to check to ensure that the path P has the described properties?).arrow_forwardWe are given an undirected connected graph G = (V, E) and vertices s and t.Initially, there is a robot at position s and we want to move this robot to position t by moving it along theedges of the graph; at any time step, we can move the robot to one of the neighboring vertices and the robotwill reach that vertex in the next time step.However, we have a problem: at every time step, a subset of vertices of this graph undergo maintenance andif the robot is on one of these vertices at this time step, it will be destroyed (!). Luckily, we are given theschedule of the maintenance for the next T time steps in an array M [1 : T ], where each M [i] is a linked-listof the vertices that undergo maintenance at time step i.Design an algorithm that finds a route for the robot to go from s to t in at most T seconds so that at notime i, the robot is on one of the maintained vertices, or output that this is not possible. The runtime ofyour algorithm should ideally be O((n + m) ·T ) but you will…arrow_forwardHow do I do this? We say a graph G = (V, E) has a k-coloring for some positive integer k if we can assign k different colors to vertices of G such that for every edge (v, w) ∈ E, the color of v is different to the color w. More formally, G = (V, E) has a k-coloring if there is a function f : V → {1, 2, . . . , k} such that for every (v, w) ∈ E, f(v) 6= f(w).3-Color problem is defined as follows: Given a graph G = (V, E), does it have a 3-coloring?4-Color problem is defined as follows: Given a graph G = (V, E), does it have a 4-coloring?Prove that 3-Color ≤P 4-Color.(hint: add vertex to 3-Color problem instance.)arrow_forwardLet G be a graph. We say that a set of vertices C form a vertex cover if every edge of G is incident to at least one vertex in C. We say that a set of vertices I form an independent set if no edge in G connects two vertices from I. For example, if G is the graph above, C = [b, d, e, f, g, h, j] is a vertex cover since each of the 20 edges in the graph has at least one endpoint in C, and I = = [a, c, i, k] is an independent set because none of these edges appear in the graph: ac, ai, ak, ci, ck, ik. 2a In the example above, notice that each vertex belongs to the vertex cover C or the independent set I. Do you think that this is a coincidence? 2b In the above graph, clearly explain why the maximum size of an independent set is 5. In other words, carefully explain why there does not exist an independent set with 6 or more vertices.arrow_forwardIn Computer Science a Graph is represented using an adjacency matrix. Ismatrix is a square matrix whose dimension is the total number of vertices.The following example shows the graphical representation of a graph with 5 vertices, its matrixof adjacency, degree of entry and exit of each vertex, that is, the total number ofarrows that enter or leave each vertex (verify in the image) and the loops of the graph, that issay the vertices that connect with themselvesTo program it, use Object Oriented Programming concepts (Classes, objects, attributes, methods), it can be in Java or in Python.-Declare a constant V with value 5-Declare a variable called Graph that is a VxV matrix of integers-Define a MENU procedure with the following textGRAPHS1. Create Graph2.Show Graph3. Adjacency between pairs4.Input degree5.Output degree6.Loops0.exit-Validate MENU so that it receives only valid options (from 0 to 6), otherwise send an error message and repeat the reading-Make the MENU call in the main…arrow_forward3) The graph k-coloring problem is stated as follows: Given an undirected graph G = (V,E) with N vertices and M edges and an integer k. Assign to each vertex v in Va color c(v) such that 1< c(v)arrow_forwardarrow_back_iosSEE MORE QUESTIONSarrow_forward_iosRecommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSONC How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education