বুদবুদ সাজানোর একটি তুলনা ভিত্তিক সাজানোর অ্যালগরিদম৷ এই অ্যালগরিদমে সংলগ্ন উপাদানগুলি তুলনা করা হয় এবং সঠিক ক্রম তৈরি করতে অদলবদল করা হয়। এই অ্যালগরিদমটি অন্যান্য অ্যালগরিদমের তুলনায় সহজ, তবে এর কিছু ত্রুটিও রয়েছে৷ এই অ্যালগরিদম বিপুল সংখ্যক ডেটা সেটের জন্য উপযুক্ত নয়। সাজানোর কাজগুলো সমাধান করতে অনেক সময় লাগে।
বাবল সাজানোর কৌশলের জটিলতা
- সময়ের জটিলতা: O(n) সেরা ক্ষেত্রে, O(n^2) গড় এবং সবচেয়ে খারাপ ক্ষেত্রে
- স্পেস জটিলতা: O(1)
ইনপুট এবং আউটপুট
ইনপুট:সাজানো না হওয়া ডেটার একটি তালিকা:56 98 78 12 30 51 আউটপুট:সাজানোর পরে অ্যারে:12 30 51 56 78 98
অ্যালগরিদম
bubbles Sort( অ্যারে, আকার)
ইনপুট - ডেটার একটি অ্যারে, এবং অ্যারের মোট সংখ্যা
আউটপুট - সাজানো অ্যারে
<প্রে> i এর জন্য শুরু করুন :=0 থেকে সাইজ-1 ডু পতাকা :=0; j:=0 থেকে সাইজ –i – 1 করুন যদি অ্যারে[j]> অ্যারে[j+1] তারপর অ্যারে[j] অ্যারে[j+1] পতাকা দিয়ে অদলবদল করুন :=1 সম্পন্ন হলে ফ্ল্যাগ ≠ 1 তারপর লুপ ভেঙে দিন। . সম্পন্ন হয়েছেউদাহরণ
#includeনেমস্পেস ব্যবহার করে std;void সোয়াপিং(int &a, int &b) {//a এবং b int temp-এর বিষয়বস্তু অদলবদল করুন; temp =a; a =b; b =temp;} void display(int *array, int size) { for(int i =0; i array[j+1]) { //when বর্তমান আইটেম পরবর্তী সোয়াপিংয়ের চেয়ে বড় (অ্যারে[জে], অ্যারে[জে+1]); অদলবদল =1; // swap ফ্ল্যাগ সেট করুন } } if(!swaps) break; // এই পাসে কোন অদলবদল নেই, তাই অ্যারে সাজানো হয়েছে }}int main() { int n; cout <<"উপাদানের সংখ্যা লিখুন:"; cin>> n; int arr[n]; //প্রদত্ত সংখ্যক উপাদান সহ একটি অ্যারে তৈরি করুন cout <<"এন্টার উপাদান:" < > arr[i]; } cout <<"বাছাই করার আগে অ্যারে:"; প্রদর্শন (arr, n); bubbleSort(arr, n); cout <<"বাছাই করার পরে অ্যারে:"; প্রদর্শন(arr, n);}
আউটপুট
উপাদানের সংখ্যা লিখুন:6 উপাদান লিখুন:56 98 78 12 30 51 সাজানোর আগে অ্যারে:56 98 78 12 30 51 সাজানোর পরে অ্যারে:12 30 51 56 78 98