Program to find the diameter, cycles and edges of a Wheel Graph

Wheel Graph: A Wheel graph is a graph formed by connecting a single universal vertex to all vertices of a cycle. Properties:-

  • Wheel graphs are Planar graphs.
  • There is always a Hamiltonian cycle in the Wheel graph.
  • Chromatic Number is 3 and 4, if n is odd and even respectively.


Problem Statement:
Given the Number of Vertices in a Wheel Graph. The task is to find:

  1. The Number of Cycles in the Wheel Graph.
  2. Number of edges in Wheel Graph.
  3. The diameter of a Wheel Graph.
    1. Examples:

      Input: vertices = 4
      Output: Number of cycle = 7
               Number of edge = 6
               Diameter = 1
      
      Input: vertices = 6
      Output: Number of cycle = 21
               Number of edge = 10
               Diameter = 2
      
      

      Example #1: For vertices = 4 Wheel Graph, total cycle is 7:

      Example #2: For vertices = 5 and 7 Wheel Graph Number of edges = 8 and 12 respectively:

      Example #3:For vertices = 4, the Diameter is 1 as We can go from any vertices to any vertices by covering only 1 edge.

      Formula to calculate the cycles, edges and diameter:-

      Number of Cycle = (vertices * vertices) - (3 * vertices) + 3
      Number of edge = 2 * (vertices - 1)
      Diameter = if vertices = 4, Diameter = 1
                 if vertices > 4, Diameter = 2
      

      Below is the required implementation:

      C++

      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      // C++ Program to find the diameter, 
      // cycles and edges of a Wheel Graph
      #include <bits/stdc++.h>
      using namespace std;
        
      // Function that calculates the
      // Number of Cycle in Wheel Graph.
      int totalCycle(int vertices)
      {
          int result = 0;
        
          // calculates no. of Cycle.
          result = pow(vertices, 2) - (3 * vertices) + 3;
        
          return result;
      }
        
      // Fuction that calculates the
      // Number of Edges in Wheel graph.
      int Edges(int vertices)
      {
          int result = 0;
        
          result = 2 * (vertices - 1);
        
          return result;
      }
        
      // Fuction that calculates the
      // Diameter in Wheel Graph.
      int Diameter(int vertices)
      {
          int result = 0;
        
          // calculates Diameter.
          if (vertices == 4)
              result = 1;
          else
              result = 2;
        
          return result;
      }
        
      // Driver Code
      int main()
      {
          int vertices = 4;
        
          cout << "Number of Cycle = " << totalCycle(vertices) << endl;
          cout << "Number of Edges = " << Edges(vertices) << endl;
          cout << "Diameter = " << Diameter(vertices);
        
          return 0;
      }

      chevron_right

      
      

      Java

      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      //Java Program to find the diameter, 
      // cycles and edges of a Wheel Graph
      import java.io.*;
        
      class GFG
      {
          // Function that calculates the 
          // Number of Cycle in Wheel Graph. 
          static int totalCycle(double vertices) 
          
              double result = 0;
              int result1 = 0;
              
              // calculates no. of Cycle. 
              result = Math.pow(vertices, 2) - (3 * vertices) + 3
              
              result1 = (int)(result);
              return result1; 
          
              
          // Fuction that calculates the 
          // Number of Edges in Wheel graph. 
          static int Edges(int vertices) 
          
              int result = 0
              
              result = 2 * (vertices - 1); 
              
              return result; 
          
              
          // Fuction that calculates the 
          // Diameter in Wheel Graph. 
          static int Diameter(int vertices) 
          
              int result = 0
              
              // calculates Diameter. 
              if (vertices == 4
                  result = 1
              else
                  result = 2
              
              return result; 
          }
            
          //Driver Code
          public static void main(String[] args)
          {
              int vertices = 4;
                
              System.out.println("Number of Cycle = " + totalCycle(vertices));
              System.out.println("Number of Edges = " + Edges(vertices));
              System.out.println("Diameter = " + Diameter(vertices));
          }
      }

      chevron_right

      
      

      Python3

      # Python3 Program to find the diameter,
      # cycles and edges of a Wheel Graph

      # Function that calculates the
      # Number of Cycle in Wheel Graph.
      def totalCycle(vertices):

      result = 0

      # calculates no. of Cycle.
      result = (pow(vertices, 2) –
      (3 * vertices) + 3)
      return result

      # Fuction that calculates the
      # Number of Edges in Wheel graph.
      def Edges(vertices):

      result = 0
      result = 2 * (vertices – 1)
      return result

      # Fuction that calculates the
      # Diameter in Wheel Graph.
      def Diameter(vertices):

      result = 0

      # calculates Diameter.
      if vertices == 4:
      result = 1
      else:
      result = 2

      return result

      # Driver Code
      if __name__ == “__main__”:

      vertices = 4

      print(“Number of Cycle =”,
      totalCycle(vertices))
      print(“Number of Edges =”, Edges(vertices))
      print(“Diameter =”, Diameter(vertices))

      # This code is contributed by Rituraj Jain

      C#

      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      // C# Program to find the diameter, 
      // cycles and edges of a Wheel Graph
      using System;
      class GFG
      {
      // Function that calculates the 
      // Number of Cycle in Wheel Graph. 
      static int totalCycle(double vertices) 
          double result = 0;
          int result1 = 0;
        
          // calculates no. of Cycle. 
          result = Math.Pow(vertices, 2) -
                           (3 * vertices) + 3; 
        
          result1 = (int)(result);
          return result1; 
        
      // Fuction that calculates the 
      // Number of Edges in Wheel graph. 
      static int Edges(int vertices) 
          int result = 0; 
        
          result = 2 * (vertices - 1); 
        
          return result; 
        
      // Fuction that calculates the 
      // Diameter in Wheel Graph. 
      static int Diameter(int vertices) 
          int result = 0; 
        
          // calculates Diameter. 
          if (vertices == 4) 
              result = 1; 
          else
              result = 2; 
        
          return result; 
      }
        
      // Driver Code
      public static void Main()
      {
          int vertices = 4;
            
          Console.WriteLine("Number of Cycle = "
                            totalCycle(vertices));
          Console.WriteLine("Number of Edges = "
                                 Edges(vertices));
          Console.WriteLine("Diameter = "
                             Diameter(vertices));
      }
      }
        
      // This code is contributed by inder_verma

      chevron_right

      
      

      PHP

      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      <?php
      // PHP Program to find the diameter, 
      // cycles and edges of a Wheel Graph
        
      // Function that calculates the
      // Number of Cycle in Wheel Graph.
      function totalCycle($vertices)
      {
          $result = 0;
        
          // calculates no. of Cycle.
          $result = pow($vertices, 2) - 
                       (3 * $vertices) + 3;
        
          return $result;
      }
        
      // Fuction that calculates the
      // Number of Edges in Wheel graph.
      function Edges($vertices)
      {
          $result = 0;
        
          $result = 2 * ($vertices - 1);
        
          return $result;
      }
        
      // Fuction that calculates the
      // Diameter in Wheel Graph.
      function Diameter($vertices)
      {
          $result = 0;
        
          // calculates Diameter.
          if ($vertices == 4)
              $result = 1;
          else
              $result = 2;
        
          return $result;
      }
        
      // Driver Code
      $vertices = 4;
        
      echo "Number of Cycle = "
            totalCycle($vertices), "\n";
      echo "Number of Edges = "
            Edges($vertices), "\n" ;
      echo "Diameter = " , Diameter($vertices);
        
      // This code is contributed by inder_verma
      ?>

      chevron_right

      
      

      Output:

      Number of Cycle = 7
      Number of Edges = 6
      Diameter = 1
      


      My Personal Notes arrow_drop_up

      Check out this Author's contributed articles.

      If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

      Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.