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 – Decorator
Java Deep Learning Essentials - Yusuke Sugomori
Template Engines for Spring
LIKE Queries in Spring JPA Repositories
Collect a Java Stream to an Immutable Collection
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Java Program to Find Location of a Point Placed in Three Dimensions Using K-D Trees
Java Program to Implement Borwein Algorithm
Using a List of Values in a JdbcTemplate IN Clause
Java – Rename or Move a File
Java – Try with Resources
Mockito and JUnit 5 – Using ExtendWith
Java Program to Implement Queue
Java Streams vs Vavr Streams
Spring Boot - Rest Template
Extract links from an HTML page
The Spring @Controller and @RestController Annotations
Java Program to Find the Mode in a Data Set
Java Program to Perform Searching Using Self-Organizing Lists
Concurrent Test Execution in Spring 5
Posting with HttpClient
Java Program to Implement Regular Falsi Algorithm
Beans and Dependency Injection
Java Concurrency Interview Questions and Answers
Java Program to Check for balanced parenthesis by using Stacks
The Registration Process With Spring Security
Hướng dẫn Java Design Pattern – Object Pool
Java Program to Find Transitive Closure of a Graph
Flattening Nested Collections in Java
Request Method Not Supported (405) in Spring
Disable DNS caching
Java Program to Implement Traveling Salesman Problem using Nearest neighbour Algorithm