This is a java program to implement Alexander Bogomolny’s permutation algorithm. This version of program computes all possible permutations of numbers from 1 to N using Alexander Bogomolyn’s algorithm.
Here is the source code of the Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements From 1 to N. 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.Scanner;
public class AlexanderBogomolnyPermutation
{
static int level = -1;
public static void print(int[] value, int n)
{
if (value.length != 0)
{
for (int i = 0; i < value.length; i++)
{
System.out.print(value[i] + " ");
}
System.out.println();
}
}
public static void visit(int[] Value, int N, int k)
{
level = level + 1;
Value[k] = level;
if (level == N)
print(Value, N);
else
for (int i = 0; i < N; i++)
if (Value[i] == 0)
visit(Value, N, i);
level = level - 1;
Value[k] = 0;
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter the size of the sequence:");
int n = sc.nextInt();
int sequence[] = new int[n];
for (int i = 0; i < n; i++)
{
sequence[i] = 0;
}
System.out.println("The permutations are: ");
visit(sequence, n, 0);
sc.close();
}
}
Output:
$ javac AlexanderBogomolnyPermutation.java $ java AlexanderBogomolnyPermutation Enter the size of the sequence: 4 The permutations are: 1 2 3 4 1 2 4 3 1 3 2 4 1 4 2 3 1 3 4 2 1 4 3 2 2 1 3 4 2 1 4 3 3 1 2 4 4 1 2 3 3 1 4 2 4 1 3 2 2 3 1 4 2 4 1 3 3 2 1 4 4 2 1 3 3 4 1 2 4 3 1 2 2 3 4 1 2 4 3 1 3 2 4 1 4 2 3 1 3 4 2 1 4 3 2 1
Related posts:
Java Program to Implement K Way Merge Algorithm
How to Use if/else Logic in Java 8 Streams
Custom JUnit 4 Test Runners
Spring Boot Actuator
Java Program to Implement Attribute API
Java Program to Perform Uniform Binary Search
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Java Program to Find Minimum Element in an Array using Linear Search
Receive email by java client
Java Program to Implement Variable length array
RegEx for matching Date Pattern in Java
Java Program to Find Maximum Element in an Array using Binary Search
Spring Boot - Rest Template
Hướng dẫn Java Design Pattern – MVC
Concurrent Test Execution in Spring 5
New Features in Java 11
Java Program to Implement the Bin Packing Algorithm
Supplier trong Java 8
Java Program to Construct an Expression Tree for an Prefix Expression
REST Pagination in Spring
Spring Data – CrudRepository save() Method
Java Program to Generate a Random UnDirected Graph for a Given Number of Edges
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Java Program to Implement LinkedBlockingQueue API
Java Program to Implement Self Balancing Binary Search Tree
Test a REST API with Java
Examine the internal DNS cache
Java toString() Method
Java Program to Implement Selection Sort
Spring Boot - Scheduling
Java Program to implement Associate Array
Convert Character Array to String in Java