কম্পিউটার

সি ভাষায় বাছাইয়ের পদ্ধতি ব্যাখ্যা কর


নির্বাচন বাছাই হল একটি অ্যাসাল্টিং অ্যালগরিদম যা একটি অ্যারে থেকে ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে কাজ করে এবং তারপর এটিকে প্রথম অবস্থানে রাখে। পরবর্তী অ্যারে যেটি অতিক্রম করতে হবে সেটি সূচী থেকে শুরু হবে, অবস্থানের পাশে, যেখানে সবচেয়ে ছোট সংখ্যাটি স্থাপন করা হয়েছে।

নির্বাচন সাজানোর পদ্ধতি

  • উপাদানগুলির তালিকার মধ্যে প্রথম ক্ষুদ্রতম উপাদানটি নির্বাচন করুন এবং এটিকে প্রথম অবস্থানে রাখুন।

  • সমস্ত উপাদানগুলি সাজানো না হওয়া পর্যন্ত তালিকার অবশিষ্ট উপাদানগুলির জন্য একই পুনরাবৃত্তি করুন৷

নিম্নলিখিত তালিকাটি বিবেচনা করুন -

সি ভাষায় বাছাইয়ের পদ্ধতি ব্যাখ্যা কর

প্রথম পাস

Sm = a[0] = 30 Sm

a[1]

a[2]

a[3]

a[4]

10 50 40 30 20

দ্বিতীয় পাস

সি ভাষায় বাছাইয়ের পদ্ধতি ব্যাখ্যা কর

Sm = a[1] = 50 sm

a[2]

a[3]

a[4]

10 20 40 30 50

তৃতীয় পাস

সি ভাষায় বাছাইয়ের পদ্ধতি ব্যাখ্যা কর

Sm = a[2] = 40 Sm

a[3]

a[4] 10 20 30 40 50

চতুর্থ পাস

সি ভাষায় বাছাইয়ের পদ্ধতি ব্যাখ্যা কর

Sm = a[3] = 40 Sm

a[4] <$\square$ $\square$ sm 50 <40 (F) $\square$ 40 $\square$ বিনিময় a[3] sm মান সহ

প্রক্রিয়া

বাছাই বাছাই করার জন্য নীচে দেওয়া পদ্ধতিটি পড়ুন৷

for (i=0; i<n-1; i++){
   sm=i;
   for (j=i+1; j<n; j++){
      if (a[j] < a[sm])
         sm=j;
      }
      t=a[i];
      a[i] = a[sm];
      a[sm] = t;
   }
}

উদাহরণ

নির্বাচন বাছাই কৌশল -

এর জন্য সি প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
int main(){
   int a[50], i,j,n,t,sm;
   printf("enter the No: of elements in the list:\n");
   scanf("%d", &n);
   printf("enter the elements:\n");
   for(i=0; i<n; i++){
      scanf ("%d", &a[i]);
   }
   for (i=0; i<n-1; i++){
      sm=i;
      for (j=i+1; j<n; j++){
         if (a[j] < a[sm]){
            sm=j;
         }
      }
      t=a[i];
      a[i]=a[sm];
      a[sm]=t;
   }
   printf ("after selection sorting the elements are:\n");
   for (i=0; i<n; i++)
      printf("%d\t", a[i]);
   return 0;
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

enter the No: of elements in the list:
4
enter the elements:
45
12
37
68
after selection sorting the elements are:
12 37 45 68

  1. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা কর

  2. সি ভাষায় সাজানোর কৌশল ব্যাখ্যা কর

  3. সি ভাষায় ইউনিয়নকে পয়েন্টার ব্যাখ্যা কর

  4. সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর