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 - CORS Support
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Spring Boot - Cloud Configuration Server
Java Program to Represent Graph Using Incidence List
Java Program to Perform Complex Number Multiplication
Reading an HTTP Response Body as a String in Java
Java Program to Implement Dijkstra’s Algorithm using Set
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Configure a Spring Boot Web Application
Java – InputStream to Reader
Migrating from JUnit 4 to JUnit 5
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Java Program to Implement Hash Tables with Linear Probing
Java Program to Implement Skew Heap
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Predicate trong Java 8
Guide to the Synchronized Keyword in Java
Spring Cloud AWS – S3
Handling Errors in Spring WebFlux
Intro to Spring Boot Starters
A Guide to @RepeatedTest in Junit 5
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Automatic Property Expansion with Spring Boot
Spring Boot Change Context Path
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Life Cycle of a Thread in Java
Java Program to Check Whether a Directed Graph Contains a Eulerian Path
Một số ký tự đặc biệt trong Java
Hướng dẫn Java Design Pattern – Intercepting Filter
Using a List of Values in a JdbcTemplate IN Clause
Java Program to Implement PriorityQueue API
Java Program to find the number of occurrences of a given number using Binary Search approach