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 Hash Trie
Introduction to Spring Method Security
Check If Two Lists are Equal in Java
Java Program to Implement Maximum Length Chain of Pairs
Mapping a Dynamic JSON Object with Jackson
Java Program to Perform Uniform Binary Search
Java Program to find the maximum subarray sum using Binary Search approach
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
Composition, Aggregation, and Association in Java
Disable Spring Data Auto Configuration
Jackson Ignore Properties on Marshalling
Spring Data MongoDB – Indexes, Annotations and Converters
Configure a RestTemplate with RestTemplateBuilder
HashSet trong Java hoạt động như thế nào?
Consumer trong Java 8
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Chương trình Java đầu tiên
Introduction to Java Serialization
Java Concurrency Interview Questions and Answers
Từ khóa this và super trong Java
Introduction to Spring Boot CLI
Inject Parameters into JUnit Jupiter Unit Tests
Java Program to Implement ScapeGoat Tree
Hướng dẫn sử dụng Printing Service trong Java
Java Program to Implement TreeSet API
Converting a Stack Trace to a String in Java
Java Program to Perform integer Partition for a Specific Case
Migrating from JUnit 4 to JUnit 5
Lớp LinkedHashMap trong Java
Creating a Custom Starter with Spring Boot
Java Program to Implement Sorted List
Spring Boot - Service Components