একটি সংখ্যা N দেওয়া আছে। ১ থেকে N পর্যন্ত সংখ্যাগুলোর সকল পারমিউটেশন (অনুক্রম) বের করতে হবে অ্যালেকজান্ডার বোগোমলনি'র আনঅর্ডার্ড পারমিউটেশন অ্যালগরিদম দিয়ে।
পারমিউটেশন কী? একটি সেটের আইটেমগুলোর ইউনিক অর্ডারিং। {4,9,2} এর পারমিউটেশন: ৬টি।
ইনপুট
N = 3
আউটপুট
1 2 3; 1 3 2; 2 1 3; 2 3 1; 3 1 2; 3 2 1
এলগরিদম
1. ফাংশন(array, N, k) রিকারসিভ কল 2. লেভেল বেড়ান, বাকি মানগুলো পারমিউট করুন 3. লেভেল == N হলে প্রিন্ট করুন
উদাহরণ কোড
#include <iostream>
using namespace std;
int level = -1;
void AlexanderBogomolyn(int perm[], int N, int k){
level++; perm[k] = level;
if(level == N){
for(int i=0; i
আউটপুট
All permutations of 1..4 printed (24 lines)