Kruskals algorithm, Data Structure & Algorithms

Assignment Help:

Krushkal's algorithm uses the concept of forest of trees. At first the forest contains n single node trees (and no edges). At each of the step, we add on one (the cheapest one) edge so that it links two trees together. If it makes a cycle, simply it would mean that it links two nodes that were connected already. So, we reject it.

The steps in Kruskal's Algorithm are as:

1.   The forest is constructed through the graph G - along each node as a separate tree in the forest.

2.   The edges are placed within a priority queue.

3.   Do till we have added n-1 edges to the graph,

  I.   Extract the lowest cost edge from the queue.

 II.   If it makes a cycle, then a link already exists among the concerned nodes. So reject it.

 III.  Otherwise add it to the forest. Adding it to the forest will join two trees together.

The forest of trees is a division of the original set of nodes. At first all the trees have exactly one node in them. As the algorithm progresses, we make a union of two of the trees (sub-sets), until the partition has only one sub-set containing all the nodes eventually.

Let us see the sequence of operations to determine the Minimum Cost Spanning Tree(MST) in a graph via Kruskal's algorithm. Suppose the graph of graph shown in figure  and below figure  illustrates the construction of MST of graph of Figure

1339_Kruskals Algorithm.png

Figure: A Graph

Figure: Construction of Minimum Cost Spanning Tree for the Graph by application of Kruskal's algorithm

The following are several steps in the construction of MST for the graph of Figure via Kruskal's algorithm.

Step 1 :  The lowest cost edge is chosen from the graph that is not in MST (initially MST is empty). The cheapest edge is 3 that is added to the MST (illustrated in bold edges)

Step 2: The next cheap edge which is not in MST is added (edge with cost 4).

Step 3 : The next lowest cost edge that is not in MST is added (edge with cost 6).

 Step 4 : The next lowest cost edge that is not in MST is added (edge with cost 7).

Step 5 : The next lowest cost edge that is not in MST is 8 but form a cycle. Hence, it is discarded. The next lowest cost edge 9 is added. Now the MST has all the vertices of the graph. This results in the MST of the original graph.


Related Discussions:- Kruskals algorithm

Find the optimal solution - branch and bound algorithm, Consider the follow...

Consider the following 5-city traveling salesman problem. The distance between each city (in miles) is shown in the following table: (a) Formulate an IP whose solution will

Determine about the unreachable code assertion, Determine about the unreach...

Determine about the unreachable code assertion An unreachable code assertion is an assertion that is placed at a point in a program that shouldn't be executed under any circum

Hw7, Handout 15 COMP 264: Introduction to Computer Systems (Section 001) Sp...

Handout 15 COMP 264: Introduction to Computer Systems (Section 001) Spring 2013 R. I. Greenberg Computer Science Department Loyola University Water TowerCampus, Lewis Towers 524 82

Define queue fifo ?, A queue is a particular type of collection or abstract...

A queue is a particular type of collection or abstract data type in which the entities in the collection are went in order and the principal functions on the collection are the add

Circular queues and implement circular queues using array, Explain what are...

Explain what are circular queues? Write down routines required for inserting and deleting elements from a circular queue implemented using arrays.           Circular queue:

Applications, Arrays are simple, however reliable to employ in more conditi...

Arrays are simple, however reliable to employ in more condition than you can count. Arrays are utilized in those problems while the number of items to be solved out is fixed. They

Graph traversal, 1) Which graph traversal uses a queue to hold vertices whi...

1) Which graph traversal uses a queue to hold vertices which are to be processed next ? 2) Which of the graph traversal is recursive by nature? 3) For a dense graph, Prim's a

Data structure- tree, Tree is dynamic data structures. Trees can expand & c...

Tree is dynamic data structures. Trees can expand & contract as the program executes and are implemented via pointers. A tree deallocates memory whereas an element is deleted.

Write stream analogues of list processing functions, (a) Write (delay ) as...

(a) Write (delay ) as a special form for (lambda () ) and (force ), as discussed in class. (b) Write (stream-cons x y) as a special form, as discussed in class. (c) Write

Explain the abstract data type assertions, Explain the Abstract data type a...

Explain the Abstract data type assertions Generally, ADT assertions translate into assertions about the data types which implement ADTs, which helps insure that our ADT impleme

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd