নির্বাচন সাজানোর অ্যালগরিদম অ্যাসাল্টিং অ্যালগরিদম কাজ করে যা অ্যারে থেকে সবচেয়ে ছোট সংখ্যা খুঁজে বের করে এবং তারপরে এটিকে প্রথম অবস্থানে স্থাপন করে। পরবর্তী অ্যারে যেটি অতিক্রম করতে হবে সেটি সূচী থেকে শুরু হবে সেই অবস্থানের পাশে যেখানে ক্ষুদ্রতম সংখ্যাটি স্থাপন করা হয়েছে।
এই ধারণাটিকে আরও স্পষ্ট করার জন্য একটি উদাহরণ নেওয়া যাক।
আমাদের একটি অ্যারে আছে {6, 3, 8, 12, 9} এই অ্যারেতে সবচেয়ে ছোট উপাদানটি হল 3। তাই আমরা 3টিকে প্রথম অবস্থানে রাখব, এর পরে অ্যারেটি দেখতে হবে {3, 6, 8, 12, 9}। এখন আমরা আবার ক্ষুদ্রতম সংখ্যাটি খুঁজে পাব তবে এবার আমরা আমাদের অনুসন্ধানে 3 বিবেচনা করব না কারণ এটি তার জায়গায় রয়েছে। পরবর্তী ক্ষুদ্রতম উপাদানটি 6 খুঁজে বের করা, দ্বিতীয় অবস্থানে 6 দিয়ে একটি অ্যারে তৈরি করা এবং তারপর অ্যারে সাজানো পর্যন্ত অ্যারেতে অনুসন্ধান করা।
নির্বাচন সাজানোর অ্যালগরিদম-
কাজনিম্নলিখিত ধাপগুলি নির্বাচন দ্বারা অনুসরণ করা হয় সাজানোর অ্যালগরিদম
৷চলুন একটি অ্যারে নেওয়া যাক {20, 12 , 23, 55 ,21}
-
অ্যারের প্রথম উপাদানটিকে সর্বনিম্ন হিসাবে সেট করুন।
সর্বনিম্ন =20
-
পরবর্তী উপাদানের সাথে ন্যূনতম তুলনা করুন, যদি এটি ন্যূনতম থেকে ছোট হয় তবে এই উপাদানটিকে সর্বনিম্ন হিসাবে বরাদ্দ করুন। অ্যারের শেষ পর্যন্ত এটি করুন৷
৷12 এর সাথে তুলনা করা হচ্ছে :20> 12 , সর্বনিম্ন =12
23 এর সাথে তুলনা করা হচ্ছে :12 <23 , সর্বনিম্ন =12
55 :12 <55 , সর্বনিম্ন =12
এর সাথে তুলনা করা হচ্ছে21 :12 <21 , সর্বনিম্ন =12
এর সাথে তুলনা করা হচ্ছে -
অ্যারের প্রথম অবস্থানে (সূচক 0) সর্বনিম্ন রাখুন।
অ্যারে ={12, 20 ,23, 55, 21}
-
পরবর্তী পুনরাবৃত্তির জন্য, প্রথম সাজানো না হওয়া উপাদান থেকে বাছাই করা শুরু করুন অর্থাৎ ন্যূনতম যেখানে রাখা হয়েছে তার পাশের উপাদানটি।
অ্যারে ={12, 20 ,23, 55, 21}
অনুসন্ধান 20 থেকে শুরু হয়, পরবর্তী উপাদান যেখানে সর্বনিম্ন স্থাপন করা হয়।
পুনরাবৃত্তি 2 :
সর্বনিম্ন =20
23 এর সাথে তুলনা করা হচ্ছে :20 <23 , সর্বনিম্ন =20
55 :20 <55 , সর্বনিম্ন =20
এর সাথে তুলনা করা হচ্ছে21 এর সাথে তুলনা করা হচ্ছে :20 <21 , সর্বনিম্ন =20
ন্যূনতম জায়গায় কোন পরিবর্তন নেই,
অ্যারে ={12, 20 ,23, 55, 21}
পুনরাবৃত্তি 3 :
সর্বনিম্ন =23.
55 :23 <55 , সর্বনিম্ন =23
এর সাথে তুলনা করা হচ্ছে21 এর সাথে তুলনা করা হচ্ছে :23> 21 , সর্বনিম্ন =21
সর্বনিম্ন সূচকে সরানো হয়েছে =2
অ্যারে ={12, 20, 21, 55, 23}
পুনরাবৃত্তি 4 :
সর্বনিম্ন =55
23 :23 <55 , সর্বনিম্ন =23
এর সাথে তুলনা করা হচ্ছেসর্বনিম্ন ইনডেক্স 3 অ্যারেতে সরানো হয়েছে ={12, 20, 21, 23, 55}
উদাহরণ
#include <stdio.h> int main() { int arr[10]={6,12,0,18,11,99,55,45,34,2}; int n=10; int i, j, position, swap; for (i = 0; i < (n - 1); i++) { position = i; for (j = i + 1; j < n; j++) { if (arr[position] > arr[j]) position = j; } if (position != i) { swap = arr[i]; arr[i] = arr[position]; arr[position] = swap; } } for (i = 0; i < n; i++) printf("%d\t", arr[i]); return 0; }
আউটপুট
0 2 6 11 12 18 34 45 55 99