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:
Spring Boot - Sending Email
Java Program to Implement Interpolation Search Algorithm
Spring WebClient and OAuth2 Support
Working with Network Interfaces in Java
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
Spring Security with Maven
New Stream Collectors in Java 9
Java Program to Generate Randomized Sequence of Given Range of Numbers
Java 8 – Powerful Comparison with Lambdas
Spring REST API + OAuth2 + Angular
Introduction to Thread Pools in Java
Spring Boot Change Context Path
Get and Post Lists of Objects with RestTemplate
Java Program to Perform Searching in a 2-Dimension K-D Tree
Java Program to Implement SimpeBindings API
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
Java Program to Implement Double Ended Queue
Deploy a Spring Boot WAR into a Tomcat Server
Java Program to Permute All Letters of an Input String
Object Type Casting in Java
Generate Spring Boot REST Client with Swagger
Basic Authentication with the RestTemplate
Java Program to Implement Counting Sort
Java Program to Implement Sieve Of Eratosthenes
HashSet trong java
Guide to @ConfigurationProperties in Spring Boot
Java Program to Implement Knapsack Algorithm
Java Program to Implement Bucket Sort
Command-Line Arguments in Java
Java Program to Find Basis and Dimension of a Matrix
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Java Program to Implement Heap