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 the RSA Algorithm
A Guide to ConcurrentMap
Debug a HttpURLConnection problem
Java Program to Decode a Message Encoded Using Playfair Cipher
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Java Program to Generate All Possible Combinations of a Given List of Numbers
New Features in Java 9
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Using Custom Banners in Spring Boot
Java Program to Implement Binary Tree
Basic Authentication with the RestTemplate
Using Java Assertions
Java Program to Compute Cross Product of Two Vectors
Java Program to implement Bi Directional Map
Generating Random Numbers in a Range in Java
Java Program to Implement Self organizing List
Java Program to Implement Stein GCD Algorithm
TreeSet và sử dụng Comparable, Comparator trong java
Guide to the Synchronized Keyword in Java
Java Program to Implement Hash Tree
Java Program to Implement ArrayList API
Initialize a HashMap in Java
A Guide To UDP In Java
Java Program to Implement Pairing Heap
Java Program to Implement AttributeList API
Hướng dẫn Java Design Pattern – Flyweight
Java Program to Implement Affine Cipher
Java Program to Find Path Between Two Nodes in a Graph
Java Program to Implement ScapeGoat Tree
Introduction to PCollections
Overflow and Underflow in Java
Java Program to Implement Selection Sort