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:
Hướng dẫn Java Design Pattern – Strategy
Adding a Newline Character to a String in Java
HandlerAdapters in Spring MVC
Spring Security Logout
String Operations with Java Streams
Từ khóa throw và throws trong Java
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Java Program to Implement Weight Balanced Tree
Spring Boot Annotations
Phương thức forEach() trong java 8
Comparing Dates in Java
Java Program to Implement Sorted Vector
Immutable Objects in Java
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Static Content in Spring WebFlux
Annotation trong Java 8
Cài đặt và sử dụng Swagger UI
HttpClient 4 Cookbook
Java Program to Implement WeakHashMap API
Java – Write to File
Java Program to Check whether Undirected Graph is Connected using BFS
Spring Security Form Login
Generic Constructors in Java
Java Program to Implement Stein GCD Algorithm
Java Program to Represent Graph Using Linked List
Java Program to Implement Hash Tables Chaining with Doubly Linked Lists
Introduction to Spring Data JDBC
Convert String to Byte Array and Reverse in Java
Quick Guide to Spring Bean Scopes
Guide To CompletableFuture
Java Program to Implement Ternary Heap