Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence

This is a java program to check graph construction is possible or not using given degree sequence. If the sum of degree is even graph construction is possible, not otherwise.

Here is the source code of the Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

package com.sanfoundry.combinatorial;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class CheckGraphConstuction
{
    public static Integer sum(List<Integer> list)
    {
        Integer sum = 0;
        for (Integer integer : list)
        {
            sum += integer;
        }
        return sum;
    }
 
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the number of vertices: ");
        Integer n = sc.nextInt();
        System.out
                .println("Enter the Degree Sequence: <Degree sequence is always in non-increasing order>");
        List<Integer> sequence = new ArrayList<Integer>();
        while (n > 0)
        {
            sequence.add(sc.nextInt());
            n--;
        }
        System.out.println(sequence.toString());
        if (sum(sequence) % 2 == 0)
        {
            System.out
                    .println("Graph can be constructed using the given sequence G=("
                            + sequence.size()
                            + ", "
                            + (sum(sequence) / 2)
                            + ").");
        }
        sc.close();
    }
}

Output:

$ javac CheckGraphConstuction.java
$ java CheckGraphConstuction
 
Enter the number of vertices: 
7
Enter the Degree Sequence: <Degree sequence is always in non-increasing order>
5 3 3 2 2 1 0
[5, 3, 3, 2, 2, 1, 0]
Graph can be constructed using the given sequence G=(7, 8).
 
Enter the number of vertices: 
3
Enter the Degree Sequence: <Degree sequence is always in non-increasing order>
3 3 1
[3, 3, 1]
no soultion exists.

Related posts:

Java Program to Find Transitive Closure of a Graph
Java Program to Optimize Wire Length in Electrical Circuit
Handle EML file with JavaMail
Java Program to Check whether Undirected Graph is Connected using DFS
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Java Program to Implement Regular Falsi Algorithm
Returning Image/Media Data with Spring MVC
Java Program to Implement Fermat Primality Test Algorithm
Java Program to Implement Graph Coloring Algorithm
The Thread.join() Method in Java
Send email with JavaMail
Service Registration with Eureka
Java Program to Implement Adjacency Matrix
Java Program to Generate Random Numbers Using Multiply with Carry Method
So sánh HashSet, LinkedHashSet và TreeSet trong Java
Lấy ngày giờ hiện tại trong Java
Introduction to Using FreeMarker in Spring MVC
Spring Boot - Tracing Micro Service Logs
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Prevent Cross-Site Scripting (XSS) in a Spring Application
Dockerizing a Spring Boot Application
Model, ModelMap, and ModelAndView in Spring MVC
Configuring a DataSource Programmatically in Spring Boot
Spring Boot With H2 Database
Java Program to Implement Word Wrap Problem
Apache Commons Collections SetUtils
Java Program to Find the Minimum value of Binary Search Tree
Java Program to Implement Hash Tables chaining with Singly Linked Lists
The Basics of Java Security
Java Program to Perform Insertion in a 2 Dimension K-D Tree
How to Get All Dates Between Two Dates?