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 Multi-line String
Intersection of Two Lists in Java
Constructor Injection in Spring with Lombok
Sắp xếp trong Java 8
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Java Program to Perform LU Decomposition of any Matrix
@DynamicUpdate with Spring Data JPA
Java Program to Generate Date Between Given Range
Java Program to Implement Queue
Spring Security – security none, filters none, access permitAll
Java Program to Implement Ternary Search Tree
Java Program to Perform Inorder Recursive Traversal of a Given Binary Tree
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Implement PrinterStateReasons API
So sánh Array và ArrayList trong Java
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
How to Read a Large File Efficiently with Java
Hướng dẫn Java Design Pattern – Visitor
Java Program to Implement Hash Tree
Java Program to Implement Fenwick Tree
Java – Write a Reader to File
Java – Reader to InputStream
Java Program to Implement Selection Sort
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Java Program to Implement Jarvis Algorithm
@Order in Spring
Java Program to Implement Stack using Linked List
How to Set TLS Version in Apache HttpClient
How to Convert List to Map in Java
Transactions with Spring and JPA
Truyền giá trị và tham chiếu trong java