Costo mínimo del árbol de expansión de gráficos dados

Dado un gráfico no dirigido de V Nodes (V > 2) llamados V 1 , V 2 , V 3 , …, V n . Dos Nodes Vi y V j están conectados entre sí si y solo si 0 < | yo – j | ≤ 2 . A cada borde entre cualquier par de vértices (V i , V j ) se le asigna un peso i + j . La tarea es encontrar el costo del árbol de expansión mínimo de tal gráfico con Nodes V. Ejemplos:
 
 

Entrada: V = 4 
 

Salida: 13
Entrada: V = 5 
Salida: 21 
 

Enfoque: Comenzando con un gráfico con Nodes mínimos (es decir, 3 Nodes), el costo del árbol de expansión mínimo será 7. Ahora, para cada Node i comenzando desde el cuarto Node que se puede agregar a este gráfico, el i -ésimo Node solo puede ser conectado a (i – 1) th y (i – 2) th Node y el árbol de expansión mínimo solo incluirá el Node con el peso mínimo, por lo que el borde recién agregado tendrá el peso i + (i – 2)
 

Entonces, la adición del cuarto Node aumentará el peso total como 7 + (4 + 2) = 13 
De manera similar, al agregar el quinto Node, peso = 13 + (5 + 3) = 21 
… 
Para el Node n , peso = peso + (n + ( norte – 2))
 

Esto se puede generalizar como peso = V 2 – V + 1 donde V es el total de Nodes en el gráfico.
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function that returns the minimum cost
// of the spanning tree for the required graph
int getMinCost(int Vertices)
{
    int cost = 0;
 
    // Calculating cost of MST
    cost = (Vertices * Vertices) - Vertices + 1;
 
    return cost;
}
 
// Driver code
int main()
{
    int V = 5;
    cout << getMinCost(V);
 
    return 0;
}

Java

// Java implementation of the approach
class GfG
{
 
// Function that returns the minimum cost
// of the spanning tree for the required graph
static int getMinCost(int Vertices)
{
    int cost = 0;
 
    // Calculating cost of MST
    cost = (Vertices * Vertices) - Vertices + 1;
 
    return cost;
}
 
// Driver code
public static void main(String[] args)
{
    int V = 5;
    System.out.println(getMinCost(V));
}
}
 
// This code is contributed by
// Prerna Saini.

C#

// C# implementation of the above approach
using System;
 
class GfG
{
 
    // Function that returns the minimum cost
    // of the spanning tree for the required graph
    static int getMinCost(int Vertices)
    {
        int cost = 0;
     
        // Calculating cost of MST
        cost = (Vertices * Vertices) - Vertices + 1;
     
        return cost;
    }
     
    // Driver code
    public static void Main()
    {
        int V = 5;
        Console.WriteLine(getMinCost(V));
    }
}
 
// This code is contributed by Ryuga

Python3

# python3 implementation of the approach
  
# Function that returns the minimum cost
# of the spanning tree for the required graph
def getMinCost( Vertices):
    cost = 0
  
    # Calculating cost of MST
    cost = (Vertices * Vertices) - Vertices + 1
  
    return cost
  
# Driver code
if __name__ == "__main__":
 
    V = 5
    print (getMinCost(V))

PHP

<?php
// PHP implementation of the approach
// Function that returns the minimum cost
// of the spanning tree for the required graph
function getMinCost($Vertices)
{
    $cost = 0;
 
    // Calculating cost of MST
    $cost = ($Vertices * $Vertices) - $Vertices + 1;
 
    return $cost;
}
 
// Driver code
$V = 5;
echo getMinCost($V);
 
#This Code is contributed by ajit..
?>

Javascript

<script>
 
// Javascript implementation of the approach
 
// Function that returns the minimum cost
// of the spanning tree for the required graph
function getMinCost(Vertices)
{
    var cost = 0;
 
    // Calculating cost of MST
    cost = (Vertices * Vertices) - Vertices + 1;
 
    return cost;
}
 
// Driver code
var V = 5;
document.write( getMinCost(V));
 
// This code is contributed by rrrtnx.
</script>
Producción: 

21

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Naman_Garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *