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 Represent Linear Equations in Matrix Form
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...
Servlet 3 Async Support with Spring MVC and Spring Security
Java Program to Implement Booth Algorithm
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Java Program to Implement Bresenham Line Algorithm
Java Program to Implement Doubly Linked List
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Removing all Nulls from a List in Java
Date Time trong Java 8
Encode/Decode to/from Base64
JUnit5 Programmatic Extension Registration with @RegisterExtension
Java Program to Perform Deletion in a BST
Transaction Propagation and Isolation in Spring @Transactional
Guide to java.util.Formatter
Recommended Package Structure of a Spring Boot Project
Java 8 Stream findFirst() vs. findAny()
Collect a Java Stream to an Immutable Collection
Giới thiệu Java 8
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
Java Program to Check Multiplicability of Two Matrices
Java Program to implement Dynamic Array
Java – InputStream to Reader
Exploring the Spring Boot TestRestTemplate
Java Program to Generate Random Partition out of a Given Set of Numbers or Characters
Spring Boot - File Handling
Java Program to Implement Caesar Cypher
Java InputStream to String
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Command-Line Arguments in Java
Spring Boot - Flyway Database
LinkedList trong java