এই ব্লগটি জাভাতে 'বাবল সর্ট' এর ব্যবহার এবং বাস্তবায়ন নিয়ে আলোচনা করবে।
জাভাতে একটি 'বাবল বাছাই' কি?
দ্য ' বুদবুদ সাজান ” অ্যালগরিদম হল সবচেয়ে সহজ বাছাই করা অ্যালগরিদম৷ এই অ্যালগরিদমে, প্রথম এলিমেন্ট থেকে শুরু করে শেষ পর্যন্ত একটি অ্যারে অতিক্রম করা হয় যাতে প্রতিটি এলিমেন্টকে পরেরটির সাথে তুলনা করা হয়। পূর্ববর্তী উপাদান একটি অ্যারের পরবর্তী উপাদানের চেয়ে বড় হওয়ার ক্ষেত্রে, উভয় উপাদান অদলবদল করা হয়।
সময় জটিলতা
বুদবুদ সাজানোর অ্যালগরিদমের মধ্যে দুটি নেস্টেড লুপ রয়েছে। তাই সময় জটিলতা হবে ' O(n^2) ', কোথায় ' n ” বিন্যাসের দৈর্ঘ্যের সাথে মিলে যায় যা সাজাতে হবে।
জাভাতে 'বাবল সাজানোর' বাস্তবায়ন
নীচের প্রদর্শনীতে, বুদ্বুদ সাজানোর অ্যালগরিদম বাস্তবায়ন করা হবে এবং ধাপে ধাপে ব্যাখ্যা করা হবে:
পাবলিক স্থির অকার্যকর algobubbleSort ( int [ ] বাবল অ্যারে, int দৈর্ঘ্য ) {
জন্য ( int i = 0 ; i < দৈর্ঘ্য - 1 ; i ++ ) {
জন্য ( int j = 0 ; j < দৈর্ঘ্য - i - 1 ; j ++ ) {
যদি ( bubbleArray [ j + 1 ] < bubbleArray [ j ] ) {
int অদলবদল মান = bubbleArray [ j ] ;
bubbleArray [ j ] = bubbleArray [ j + 1 ] ;
bubbleArray [ j + 1 ] = অদলবদল মান ;
} }
} }
int [ ] দেওয়া অ্যারে = { 4 , 2 , 1 , 3 , 10 , 8 , পনের } ;
int অ্যারে দৈর্ঘ্য = দেওয়া অ্যারে। দৈর্ঘ্য ;
algobubbleSort ( দেওয়া অ্যারে, অ্যারে দৈর্ঘ্য ) ;
পদ্ধতি . আউট . ছাপা ( 'বাবল সাজানো অ্যারে হয়ে যায়:' ) ;
জন্য ( int i = 0 ; i < অ্যারে দৈর্ঘ্য ; ++ i ) {
পদ্ধতি . আউট . ছাপা ( দেওয়া অ্যারে [ i ] + '' ) ;
}
প্রদত্ত কোড অনুসারে, তালিকাভুক্ত নির্দেশাবলী অনুসরণ করুন:
- প্রথমত, ফাংশনটি সংজ্ঞায়িত করুন ' algobubbleSort() ” যেখানে পূর্বের প্যারামিটারটি পাস করা অ্যারের দিকে নির্দেশ করে যেটিকে সাজাতে হবে এবং পরের প্যারামিটারটি তার(অ্যারে) দৈর্ঘ্যকে নির্দেশ করে।
- ফাংশনের সংজ্ঞায়, প্রথমটিতে একের পর এক জমে থাকা অ্যারে উপাদানগুলির মাধ্যমে পুনরাবৃত্তি করুন “ জন্য ' লুপ.
- পরবর্তী ধাপে, একটি অভ্যন্তরীণ প্রয়োগ করুন ' জন্য ” লুপ যা দ্বিতীয় শেষ অ্যারে উপাদান পর্যন্ত পুনরাবৃত্তি করে। কারণ, প্রতিটি পুনরাবৃত্তিতে, সর্বশ্রেষ্ঠ অ্যারে উপাদানটি শেষ সূচকে স্থাপন করা হবে; তাই, এই পুনরাবৃত্তিতে এটি এড়ানো হয়।
- পরের মধ্যে ' জন্য ” লুপ, শর্তটি পরীক্ষা করুন যে যদি পূর্ববর্তী উপাদানটি পরবর্তী উপাদানের চেয়ে বড় হয়, তাহলে মানগুলি এমনভাবে অদলবদল করবে যাতে ছোট মানটিকে আরোহী ক্রমে প্রথমে রাখা হয় এবং আরও পুনরাবৃত্তি করা মানগুলির সাথে।
- প্রধানত, একটি সাজানো পদ্ধতিতে বর্ণিত পূর্ণসংখ্যা মান সমন্বিত একটি বিন্যাস ঘোষণা করুন।
- পরবর্তী ধাপে, সংযুক্ত করুন ' দৈর্ঘ্য ” অ্যারের দৈর্ঘ্য ফেরত দিতে অ্যারের সাথে সম্পত্তি।
- এর পরে, ঘোষিত অ্যারে এবং এটির (ফাংশন) প্যারামিটার হিসাবে এর দৈর্ঘ্য পাস করে সংজ্ঞায়িত ফাংশনটি চালু করুন।
- অবশেষে, এর দৈর্ঘ্য বিবেচনা করে অ্যারের মাধ্যমে পুনরাবৃত্তি করুন এবং অ্যাক্সেস করা ফাংশনটি হবে “ বুদবুদ সাজান ” একটি আরোহী পদ্ধতিতে অ্যারে.
আউটপুট
উপরের আউটপুটে, এটি লক্ষ্য করা যায় যে প্রদত্ত অ্যারেটি সেই অনুযায়ী সাজানো হয়েছে।
উপসংহার
' বুদবুদ সাজান ” জাভাতে প্রথম এলিমেন্ট থেকে শেষ পর্যন্ত একটি অ্যারে ট্র্যাভার্স করে বাহিত হয় এবং প্রতিটি উপাদানকে পরের এক ধাপের সাথে তুলনা করা হয় যাতে অ্যারেটি আরোহী ক্রমে উদ্ধার করা হয়। এই ব্লগটি জাভাতে বুদবুদ সাজানোর অ্যালগরিদম এবং বাস্তবায়নের বিষয়ে বিস্তারিত বর্ণনা করেছে।