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:

Send an email using the SMTP protocol
Simultaneous Spring WebClient Calls
Java Program to Test Using DFS Whether a Directed Graph is Strongly Connected or Not
Java Program to Compute Cross Product of Two Vectors
Spring Boot - Admin Server
Apache Commons Collections BidiMap
Java Program to Create a Random Graph Using Random Edge Generation
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Comparing Long Values in Java
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Java Program to Implement ConcurrentLinkedQueue API
Java Program to Perform Naive String Matching
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
Intro to the Jackson ObjectMapper
Removing all Nulls from a List in Java
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Guide to @ConfigurationProperties in Spring Boot
Guide to @JsonFormat in Jackson
Java Program to Check for balanced parenthesis by using Stacks
Java Program to Check Cycle in a Graph using Graph traversal
Bootstrap a Web Application with Spring 5
Dockerizing a Spring Boot Application
Java Program to Implement Uniform-Cost Search
A Guide to JUnit 5
Lập trình đa luồng với Callable và Future trong Java
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Guide to Guava Multimap
Spring AMQP in Reactive Applications
Java List UnsupportedOperationException
Java Program to Use rand and srand Functions
Comparing Two HashMaps in Java