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 Circular Doubly Linked List
Guide to the Volatile Keyword in Java
Remove the First Element from a List
Sử dụng CountDownLatch trong Java
The Difference Between Collection.stream().forEach() and Collection.forEach()
Spring REST API + OAuth2 + Angular
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Convert char to String in Java
Converting String to Stream of chars
HashSet trong java
Java Program to Implement Karatsuba Multiplication Algorithm
Encode/Decode to/from Base64
Java Program to Implement K Way Merge Algorithm
Exploring the New Spring Cloud Gateway
Java Program to Implement Sparse Matrix
HttpClient 4 – Follow Redirects for POST
Java Program to Implement Insertion Sort
Default Password Encoder in Spring Security 5
A Guide to BitSet in Java
Mệnh đề if-else trong java
How to Add a Single Element to a Stream
Spring Cloud – Securing Services
Java Program to Generate a Random UnDirected Graph for a Given Number of Edges
Convert String to Byte Array and Reverse in Java
Spring Boot - Tomcat Port Number
Java – Convert File to InputStream
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Java Program to Perform Left Rotation on a Binary Search Tree
Hướng dẫn Java Design Pattern – MVC
Java Program to Generate Date Between Given Range
Truyền giá trị và tham chiếu trong java
Java IO vs NIO