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:

“Stream has already been operated upon or closed” Exception in Java
Inheritance with Jackson
Java Program to Implement the String Search Algorithm for Short Text Sizes
Introduction to Spring Data REST
Java Program to Implement LinkedBlockingQueue API
Java Program to Create the Prufer Code for a Tree
Feign – Tạo ứng dụng Java RESTful Client
A Guide to @RepeatedTest in Junit 5
Java Program to Implement Sorted Circular Doubly Linked List
A Quick Guide to Spring MVC Matrix Variables
Java Program to Perform Inorder Recursive Traversal of a Given Binary Tree
Java Program to Solve Knapsack Problem Using Dynamic Programming
Java Program to Implement Ternary Search Algorithm
OAuth 2.0 Resource Server With Spring Security 5
Hướng dẫn Java Design Pattern – DAO
Java Program to Implement Adjacency List
Jackson Date
Split a String in Java
Introduction to the Functional Web Framework in Spring 5
4 tính chất của lập trình hướng đối tượng trong Java
Converting Between Byte Arrays and Hexadecimal Strings in Java
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Java Program to Perform String Matching Using String Library
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Java Program to Find a Good Feedback Edge Set in a Graph
Luồng Daemon (Daemon Thread) trong Java
Cachable Static Assets with Spring MVC
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
An Intro to Spring Cloud Contract
Simultaneous Spring WebClient Calls
The Spring @Controller and @RestController Annotations
Check If a String Is Numeric in Java