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:
Validations for Enum Types
Java Program to Check Whether it is Weakly Connected or Strongly Connected for a Directed Graph
Custom JUnit 4 Test Runners
Giới thiệu Json Web Token (JWT)
Hướng dẫn Java Design Pattern – Flyweight
Compare Two JSON Objects with Jackson
Spring Boot Gradle Plugin
Versioning a REST API
Write/Read cookies using HTTP and Read a file from the internet
Java Program to Implement Singly Linked List
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Spring Security Custom AuthenticationFailureHandler
Java Program to Implement Hash Tables
Java Program to Show the Duality Transformation of Line and Point
Java – Delete a File
Spring 5 Testing with @EnabledIf Annotation
Guide to @JsonFormat in Jackson
Guide to BufferedReader
Java Program to Implement VList
Summing Numbers with Java Streams
Java Program to Implement ScapeGoat Tree
@Order in Spring
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Implement IdentityHashMap API
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Java Program to Implement vector
Spring Boot Tutorial – Bootstrap a Simple Application
Java Program to Implement ConcurrentLinkedQueue API
Spring Boot - Internationalization
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Giới thiệu Google Guice – Injection, Scope
Send email with authentication