SlideShare a Scribd company logo
1 of 26
APPLICATION OF GREEDY METHOD

KRUSKAL’S ALGORITHM TO FIND
MINIMUM
        COST SPANNING TREES
   An algorithm is a mathematical procedure often used to
    solve optimization problems in a finite number of steps.

   Most solution algorithms make choices based on a
    global overview of all current and future possibilities
    aiming at reaching the single global optimum solution.

   Greedy algorithms make choices that look best at that
    every moment.
   When compared to algorithms that guarantee to yield a
    global optimum solution, greedy algorithms have
    several advantages:

   They are easier to implement, they require much less
    computing resources, they are much faster to execute.

   Their only disadvantage being that they do not always
    reach the global optimum solution
    when the global optimum solution is not
    reached, most of the times the reached sub- optimal
    solution is a very good solution.

   Several classical optimization problems like minimum
    spanning tree and optimal prefix codes for data
    compression yield global optimum solutions using
    greedy algorithm.
   A tree T is said to be a spanning tree of a connected
    graph G if T is a subgraph of G and T contains all vertices
    of G.
   Since the vertices of G are barely hanging together in a
    spanning tree, it is a sort of skeleton of the original
    graph g. so, a spanning tree is called a skeleton or
    scaffolding of G.
   Among the spanning trees of G, one with the smallest
    weight is called minimal spanning tree or shortest
    spanning tree or shortest-distance spanning tree.
A second greedy algorithm was developed by Joseph Kruskal.

Steps in Kruskal’s algorithm:
 list all edges of G in order of increasing weight.
 Select a smallest edge of G.
 For each successive step, select (from all remaining
  edges of G) another smallest edge that makes no circuit
 with the previously selected edges.
 Continue until n-1 edges have been selected.
      At each stage, the algorithm chooses an edge
     to add to its current partial solution. To do so, it needs
    to test each candidate edge (u ,v ) to
    see whether the endpoints u and v lie in different
    components; otherwise the edge produces a
    cycle.
5
              A                               B
    4                         6           2

            2                     D               3
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
enqueue edges of G in a queue in increasing order of
cost.
T=;
while(queue is not empty)
{
       dequeue an edge e;
       if(e does not create a cycle with edges in T)
       add e to T;
}
return T;
5
              A                               B
    4                         6           2

            2                     D               3
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
5
              A                               B
    4                         6           2

            2                     D               3
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
5
              A                               B
    4                         6           2

            2                     D               3
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
5
              A                               B
    4                         6           2

            2                     D               3
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
5
              A                               B
    4                         6           2

            2                     D               3   cycle!!
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
5
              A                               B
    4                         6           2

            2                     D               3
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
5
              A                               B
    4                         6           2

            2                     D               3
C

    3                         1           2
              E                               F
                                      4
        Kruskal's Algorithm
minimum- spanning tree



                    A                           B
                                            2

                  2                     D
C

        3                           1       2
                    E                           F

              Kruskal's Algorithm
8                   7

             b                   c           d        9
    4

                             2
        11                                       14        e
a                    i               4
                 7           6
                                                      10
    8
             h                   g           f
                         1               2
8                   7
             b                   c               d         9
    4
                             2
a       11                                           14        e
                         i           4
                 7           6
                                                          10
    8
             h                   g               f
                         1                   2




                     8                   7
             b                   c               d        9
    4
                             2
a       11                                           14        e
                     i               4
                 7           6
                                                          10
    8
             h                   g               f
                     1                   2

                                                                   19
8               7
             b               c           d        9
    4
                         2
a       11                                   14        e
                     i           4
                 7       6
                                                  10
    8
             h               g           f
                     1               2



                     8               7
             b               c           d        9
    4
                         2
a       11                                   14        e
                     i           4
                 7       6
                                                  10
    8
             h               g           f
                     1               2

                                                           20
8               7
             b               c           d        9
    4
                         2
a       11                                   14        e
                     i           4
                 7       6
                                                  10
    8
             h               g           f
                     1               2


                     8               7
             b               c           d        9
    4
                         2
a       11                                   14        e
                     i           4
                 7       6
                                                  10
    8
             h               g           f
                     1               2


                                                           21
8               7
             b               c           d        9
    4
                         2
a       11                                   14        e
                     i           4
                 7       6
                                                  10
    8
             h               g           f
                     1               2



                     8               7
             b               c           d        9
    4
                         2
a       11                                   14        e
                     i           4
                 7       6
                                                  10
    8
             h               g           f
                     1               2


                                                           22
8               7
                     b               c           d        9
            4
                                 2
        a       11                                   14        e
                             i           4
                         7       6
                                                          10
            8
                     h               g           f
                             1               2

MINIMAL SPANNING TREEE
                             8               7
                     b               c           d        9
            4
                                 2
        a       11                                   14        e
                             i           4
                         7       6
                                                          10
            8
                     h               g           f
                             1               2


                                                                   23
   Initialization O(V) time
   Sorting the edges Q(E lg E) = Q(E lg V) (why?)
   O(E) calls to FindSet
   Union costs
     Let t(v) – the number of times v is moved to a new
      cluster
     Each time a vertex is moved to a new cluster the size
      of the cluster containing the vertex at least doubles:
      t(v) log V
     Total time spent doing Union vV
                                       t (v)  V log V
   Total time: O(E lg V)
                                                               24
   Where ever the minimum distance is needed to achieve
    there this algorithm gets place.
   For example.
     In telephone lining under the ground, they have to connect all
      the cities with the minimum amount of wire.
     If the new connection is in position to add between cities, there
      we have to consider the minimum cost distance.
     Assume, if the minimum distance is not calculated, the wastage
      of wires will be in peak.
   Railways track construction.
   National highway construction.
   Flyover bridge construction.
   Network between two intranets.
   The another non-technical example will be as,
     The by-pass rider or point to point buses will move on with the
      minimum distance path to reach the destination much faster.
      They will never circulate their bus through unwanted towns and
      villages.

More Related Content

What's hot

Networks dijkstra's algorithm- pgsr
Networks  dijkstra's algorithm- pgsrNetworks  dijkstra's algorithm- pgsr
Networks dijkstra's algorithm- pgsr
Linawati Adiman
 

What's hot (20)

Bellman ford algorithm
Bellman ford algorithmBellman ford algorithm
Bellman ford algorithm
 
Networks dijkstra's algorithm- pgsr
Networks  dijkstra's algorithm- pgsrNetworks  dijkstra's algorithm- pgsr
Networks dijkstra's algorithm- pgsr
 
Shortest path
Shortest pathShortest path
Shortest path
 
3.5 equivalence of pushdown automata and cfl
3.5 equivalence of pushdown automata and cfl3.5 equivalence of pushdown automata and cfl
3.5 equivalence of pushdown automata and cfl
 
Dijkstra's Algorithm
Dijkstra's AlgorithmDijkstra's Algorithm
Dijkstra's Algorithm
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
8 queens problem using ga
8 queens problem using ga8 queens problem using ga
8 queens problem using ga
 
A* Search Algorithm
A* Search AlgorithmA* Search Algorithm
A* Search Algorithm
 
Defuzzification
DefuzzificationDefuzzification
Defuzzification
 
Push down automata
Push down automataPush down automata
Push down automata
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarp
 
implementation of travelling salesman problem with complexity ppt
implementation of travelling salesman problem with complexity pptimplementation of travelling salesman problem with complexity ppt
implementation of travelling salesman problem with complexity ppt
 
Dijkstra & flooding ppt(Routing algorithm)
Dijkstra & flooding ppt(Routing algorithm)Dijkstra & flooding ppt(Routing algorithm)
Dijkstra & flooding ppt(Routing algorithm)
 
Tsp branch and-bound
Tsp branch and-boundTsp branch and-bound
Tsp branch and-bound
 
Minimum spanning Tree
Minimum spanning TreeMinimum spanning Tree
Minimum spanning Tree
 
Dijkstra's algorithm presentation
Dijkstra's algorithm presentationDijkstra's algorithm presentation
Dijkstra's algorithm presentation
 
Astar algorithm
Astar algorithmAstar algorithm
Astar algorithm
 
8 queen problem
8 queen problem8 queen problem
8 queen problem
 
N queen problem
N queen problemN queen problem
N queen problem
 
Optimization of dfa
Optimization of dfaOptimization of dfa
Optimization of dfa
 

More from Tech_MX

Virtual base class
Virtual base classVirtual base class
Virtual base class
Tech_MX
 
Theory of estimation
Theory of estimationTheory of estimation
Theory of estimation
Tech_MX
 
Templates in C++
Templates in C++Templates in C++
Templates in C++
Tech_MX
 
String & its application
String & its applicationString & its application
String & its application
Tech_MX
 
Statistical quality__control_2
Statistical  quality__control_2Statistical  quality__control_2
Statistical quality__control_2
Tech_MX
 
Stack data structure
Stack data structureStack data structure
Stack data structure
Tech_MX
 
Stack Data Structure & It's Application
Stack Data Structure & It's Application Stack Data Structure & It's Application
Stack Data Structure & It's Application
Tech_MX
 
Spanning trees & applications
Spanning trees & applicationsSpanning trees & applications
Spanning trees & applications
Tech_MX
 
Set data structure 2
Set data structure 2Set data structure 2
Set data structure 2
Tech_MX
 
Set data structure
Set data structure Set data structure
Set data structure
Tech_MX
 
Real time Operating System
Real time Operating SystemReal time Operating System
Real time Operating System
Tech_MX
 
Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)
Tech_MX
 
Motherboard of a pc
Motherboard of a pcMotherboard of a pc
Motherboard of a pc
Tech_MX
 
More on Lex
More on LexMore on Lex
More on Lex
Tech_MX
 
MultiMedia dbms
MultiMedia dbmsMultiMedia dbms
MultiMedia dbms
Tech_MX
 
Merging files (Data Structure)
Merging files (Data Structure)Merging files (Data Structure)
Merging files (Data Structure)
Tech_MX
 
Memory dbms
Memory dbmsMemory dbms
Memory dbms
Tech_MX
 

More from Tech_MX (20)

Virtual base class
Virtual base classVirtual base class
Virtual base class
 
Uid
UidUid
Uid
 
Theory of estimation
Theory of estimationTheory of estimation
Theory of estimation
 
Templates in C++
Templates in C++Templates in C++
Templates in C++
 
String & its application
String & its applicationString & its application
String & its application
 
Statistical quality__control_2
Statistical  quality__control_2Statistical  quality__control_2
Statistical quality__control_2
 
Stack data structure
Stack data structureStack data structure
Stack data structure
 
Stack Data Structure & It's Application
Stack Data Structure & It's Application Stack Data Structure & It's Application
Stack Data Structure & It's Application
 
Spss
SpssSpss
Spss
 
Spanning trees & applications
Spanning trees & applicationsSpanning trees & applications
Spanning trees & applications
 
Set data structure 2
Set data structure 2Set data structure 2
Set data structure 2
 
Set data structure
Set data structure Set data structure
Set data structure
 
Real time Operating System
Real time Operating SystemReal time Operating System
Real time Operating System
 
Parsing
ParsingParsing
Parsing
 
Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)
 
Motherboard of a pc
Motherboard of a pcMotherboard of a pc
Motherboard of a pc
 
More on Lex
More on LexMore on Lex
More on Lex
 
MultiMedia dbms
MultiMedia dbmsMultiMedia dbms
MultiMedia dbms
 
Merging files (Data Structure)
Merging files (Data Structure)Merging files (Data Structure)
Merging files (Data Structure)
 
Memory dbms
Memory dbmsMemory dbms
Memory dbms
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Application of greedy method

  • 1. APPLICATION OF GREEDY METHOD KRUSKAL’S ALGORITHM TO FIND MINIMUM COST SPANNING TREES
  • 2. An algorithm is a mathematical procedure often used to solve optimization problems in a finite number of steps.  Most solution algorithms make choices based on a global overview of all current and future possibilities aiming at reaching the single global optimum solution.  Greedy algorithms make choices that look best at that every moment.
  • 3. When compared to algorithms that guarantee to yield a global optimum solution, greedy algorithms have several advantages:  They are easier to implement, they require much less computing resources, they are much faster to execute.  Their only disadvantage being that they do not always reach the global optimum solution
  • 4. when the global optimum solution is not reached, most of the times the reached sub- optimal solution is a very good solution.  Several classical optimization problems like minimum spanning tree and optimal prefix codes for data compression yield global optimum solutions using greedy algorithm.
  • 5. A tree T is said to be a spanning tree of a connected graph G if T is a subgraph of G and T contains all vertices of G.  Since the vertices of G are barely hanging together in a spanning tree, it is a sort of skeleton of the original graph g. so, a spanning tree is called a skeleton or scaffolding of G.  Among the spanning trees of G, one with the smallest weight is called minimal spanning tree or shortest spanning tree or shortest-distance spanning tree.
  • 6. A second greedy algorithm was developed by Joseph Kruskal. Steps in Kruskal’s algorithm:  list all edges of G in order of increasing weight.  Select a smallest edge of G.  For each successive step, select (from all remaining edges of G) another smallest edge that makes no circuit  with the previously selected edges.  Continue until n-1 edges have been selected.
  • 7. At each stage, the algorithm chooses an edge to add to its current partial solution. To do so, it needs to test each candidate edge (u ,v ) to see whether the endpoints u and v lie in different components; otherwise the edge produces a cycle.
  • 8. 5 A B 4 6 2 2 D 3 C 3 1 2 E F 4 Kruskal's Algorithm
  • 9. enqueue edges of G in a queue in increasing order of cost. T=; while(queue is not empty) { dequeue an edge e; if(e does not create a cycle with edges in T) add e to T; } return T;
  • 10. 5 A B 4 6 2 2 D 3 C 3 1 2 E F 4 Kruskal's Algorithm
  • 11. 5 A B 4 6 2 2 D 3 C 3 1 2 E F 4 Kruskal's Algorithm
  • 12. 5 A B 4 6 2 2 D 3 C 3 1 2 E F 4 Kruskal's Algorithm
  • 13. 5 A B 4 6 2 2 D 3 C 3 1 2 E F 4 Kruskal's Algorithm
  • 14. 5 A B 4 6 2 2 D 3 cycle!! C 3 1 2 E F 4 Kruskal's Algorithm
  • 15. 5 A B 4 6 2 2 D 3 C 3 1 2 E F 4 Kruskal's Algorithm
  • 16. 5 A B 4 6 2 2 D 3 C 3 1 2 E F 4 Kruskal's Algorithm
  • 17. minimum- spanning tree A B 2 2 D C 3 1 2 E F Kruskal's Algorithm
  • 18. 8 7 b c d 9 4 2 11 14 e a i 4 7 6 10 8 h g f 1 2
  • 19. 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 19
  • 20. 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 20
  • 21. 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 21
  • 22. 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 22
  • 23. 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 MINIMAL SPANNING TREEE 8 7 b c d 9 4 2 a 11 14 e i 4 7 6 10 8 h g f 1 2 23
  • 24. Initialization O(V) time  Sorting the edges Q(E lg E) = Q(E lg V) (why?)  O(E) calls to FindSet  Union costs  Let t(v) – the number of times v is moved to a new cluster  Each time a vertex is moved to a new cluster the size of the cluster containing the vertex at least doubles: t(v) log V  Total time spent doing Union vV  t (v)  V log V  Total time: O(E lg V) 24
  • 25. Where ever the minimum distance is needed to achieve there this algorithm gets place.  For example.  In telephone lining under the ground, they have to connect all the cities with the minimum amount of wire.  If the new connection is in position to add between cities, there we have to consider the minimum cost distance.  Assume, if the minimum distance is not calculated, the wastage of wires will be in peak.
  • 26. Railways track construction.  National highway construction.  Flyover bridge construction.  Network between two intranets.  The another non-technical example will be as,  The by-pass rider or point to point buses will move on with the minimum distance path to reach the destination much faster. They will never circulate their bus through unwanted towns and villages.