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 Gift Wrapping Algorithm in Two Dimensions
Tìm hiểu về Web Service
Java Copy Constructor
Reactive WebSockets with Spring 5
Simple Single Sign-On with Spring Security OAuth2
Guava – Join and Split Collections
Tạo chương trình Java đầu tiên sử dụng Eclipse
Java Program to Check whether Graph is Biconnected
Java Program to Represent Graph Using Adjacency Matrix
Injecting Prototype Beans into a Singleton Instance in Spring
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Display Auto-Configuration Report in Spring Boot
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
An Intro to Spring Cloud Vault
Extract links from an HTML page
Java Program to Implement Unrolled Linked List
Java Program to Perform Partial Key Search in a K-D Tree
Spring Boot - Quick Start
Guide to @JsonFormat in Jackson
Guide to BufferedReader
Setting a Request Timeout for a Spring REST API
Converting Iterator to List
Spring Boot - Servlet Filter
Introduction to Spring MVC HandlerInterceptor
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Primitive Type Streams in Java 8
Introduction to Using Thymeleaf in Spring
Simplify the DAO with Spring and Java Generics
Java Program to Implement Rope
Enum trong java
Get the workstation name or IP