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 Sorted List
Testing an OAuth Secured API with Spring MVC
Custom Thread Pools In Java 8 Parallel Streams
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Java Program to Implement LinkedBlockingQueue API
Explain about URL and HTTPS protocol
Java Program to Check if a Given Set of Three Points Lie on a Single Line or Not
Spring Security Logout
Converting String to Stream of chars
Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon
The Difference Between map() and flatMap()
Primitive Type Streams in Java 8
Java Program to Implement Suffix Array
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Spring Boot Integration Testing with Embedded MongoDB
Java Program to Find the Connected Components of an UnDirected Graph
Hướng dẫn Java Design Pattern – Interpreter
How to Count Duplicate Elements in Arraylist
Hướng dẫn sử dụng String Format trong Java
Spring’s RequestBody and ResponseBody Annotations
Adding a Newline Character to a String in Java
Java Program to Implement Iterative Deepening
Spring Boot - Rest Template
Spring Cloud – Securing Services
Handling URL Encoded Form Data in Spring REST
Java Byte Array to InputStream
Apache Commons Collections SetUtils
Merging Two Maps with Java 8
Java Program to Represent Graph Using Adjacency Matrix
Basic Authentication with the RestTemplate
HashSet trong java
Spring Webflux with Kotlin