কম্পিউটার

রেডিক্স সাজানোর জন্য C++ প্রোগ্রাম


রেডিক্স সর্ট হল অ-তুলনামূলক বাছাই অ্যালগরিদম। এই বাছাই অ্যালগরিদম পূর্ণসংখ্যা কীগুলিতে কাজ করে সংখ্যাগুলিকে গোষ্ঠীবদ্ধ করে যা একই অবস্থান এবং মান ভাগ করে। রেডিক্স হল একটি সংখ্যা পদ্ধতির ভিত্তি। আমরা জানি যে দশমিক পদ্ধতিতে রেডিক্স বা ভিত্তি হল 10। তাই কিছু দশমিক সংখ্যা বাছাই করার জন্য, সংখ্যা সংরক্ষণের জন্য আমাদের 10 অবস্থানগত বাক্স প্রয়োজন।

রেডিক্স সাজানোর কৌশলের জটিলতা

  • সময়ের জটিলতা:O(nk)

  • স্থান জটিলতা:O(n+k)

ইনপুট − সাজানো তালিকা:802 630 20 745 52 300 612 932 78 187 আউটপুট − সাজানোর পরে ডেটা:20 52 78 187 300 612 630 745 803> 

অ্যালগরিদম

র্যাডিক্সসোর্ট(অ্যারে, সাইজ, ম্যাক্সডিজিট)

ইনপুট :ডেটার একটি অ্যারে, এবং অ্যারের মোট সংখ্যা, সর্বাধিক সংখ্যার সংখ্যা সংখ্যা।

আউটপুট :সাজানো অ্যারে।

 i এর জন্য 10টি তালিকাকে পকেট হিসাবে সংজ্ঞায়িত করুন :=0 থেকে সর্বোচ্চ -1 do m =10
i+1
 p :=10
i
 j এর জন্য :=0 থেকে n-1 do temp :=array[j] mod m index :=temp / p pocket[index].append(array[j]) সম্পন্ন গণনা :=0 এর জন্য j :=0 থেকে radix do পকেট [j] খালি অ্যারে নয় [count] :=পকেটের প্রথম নোড পান [j] এবং এটি মুছে ফেলুন গণনা :=গণনা +1 সম্পন্ন শেষ

উদাহরণ কোড

#include#include#include namespace ব্যবহার করে std;void display(int *array, int size) { for(int i =0; i পকেট[10]; // দশমিক সংখ্যার রেডিক্স হল 10 এর জন্য (i =0; i<সর্বোচ্চ; i++) { m =pow(10, i+1); p =pow(10, i); (j =0; j> n; cout <<"উপাদানের সর্বাধিক সংখ্যা লিখুন:"; cin>> সর্বোচ্চ; int arr[n]; //প্রদত্ত সংখ্যক উপাদান সহ একটি অ্যারে তৈরি করুন cout <<"এন্টার উপাদান:" <> arr[i]; } cout <<"বাছাই করার আগে ডেটা:"; প্রদর্শন (আরআর, এন); radixSort(arr, n, max); cout <<"বাছাই করার পরে ডেটা:"; প্রদর্শন(arr, n);}

আউটপুট

 উপাদানের সংখ্যা লিখুন:10 উপাদানগুলির সর্বাধিক সংখ্যা লিখুন:3 উপাদানগুলি লিখুন:802 630 20 745 52 300 612 932 78 187 বাছাই করার আগে ডেটা:802 630 20 745 52 29187827827800 পরে 612 630 745 802 932 

  1. হিপ সাজানোর জন্য C++ প্রোগ্রাম

  2. বুদবুদ সাজানোর জন্য C++ প্রোগ্রাম

  3. বালতি সাজানোর জন্য C++ প্রোগ্রাম

  4. প্রদত্ত জটিলতা সীমাবদ্ধতার সাথে দ্রুত সাজানোর জন্য C++ প্রোগ্রাম