Faculty of Science and Information Technology > Science and Information
এলগরিদমের খুঁটিনাটি ~ তৃতীয় পর্ব ( সর্টিং এলগরিদম ) !
(1/1)
Mehedifaruk:
ধরুন আপনাকে কয়েকটা অগোছালো সংখ্যা দিলাম , আর বললাম আমাকে এই সংখ্যাগুলো ছোট থেকে বড় আকারে সাজিয়ে দিন ! সংখ্যাগুলোকে ক্রমান্বয়ে ছোট থেকে বড় আকারে সাজানোর জন্য আপনি কি করবেন ? একটু ভাবুনতো, কি করলে অগোছালো কয়েকটা সংখ্যাকে ক্রমান্বয়ে ছোটথেকে বড় করা যায় ! থাক এতো চিন্তা করতে হবেনা , আমিই বলে দিচ্ছি কি করে করা যায় :)
ধরুন ৫ ৯ ০ ৮ এই চারটা সংখ্যাকে ছোট থেকে বড় আকারে ক্রমান্বয়ে সাজালে হয় ০ ৫ ৮ ৯ । এখন যদি আপনাকে ১০ হাজারটা অগোছালো সংখ্যাকে ছোট থেকে বড় আকারে সজিয়ে দিতে বলা হয় তখন কি করবেন ? হ্যাঁ তখনি আপনার কম্পিউটারের সাহায্য নিতে হবে , আর এই অগোছালো সংখ্যাকে গোছানোর জন্য কম্পিউটার কয়েকটা এলগরিদম ব্যাবহার করে । আর সে গুলোকেই বলাহয় সর্টিং এলগরিদম ।
অগোছালো সংখ্যাকে গোছানোর জন্য বেশ কয়েকটি এলগরিদম রয়েছে ~
Bubble Sort
Insertion Sort
Selection Sort
Quicksort
Mergesort
Heapsort
আজ আলোচনা করব Bubble Sort Algorithm নিয়ে ! বলে রাখা ভালো , বর্তমানে Bubble Sort এলগরিদম ব্যাবহার করা হয়না বললেই চলে । তবে নতুনদের বুঝার জন্যই মূলত আজকের এই লেখা । আসুন দেরী না করে শিখে ফেলি Bubble Sort এলগরিদম কিভাবে কাজ করে । Bubble Sort একটা সংখ্যার সাথে আরেকটা সংখ্যার তুলনা করে তাদেরকে ক্রমান্বয়ে সাজায় ।
5 1 4 2 8 এই কয়েকটা অগোছালো সংখ্যা নিলাম - এখন Bubble সর্ট এর নিয়ম অনুযায়ী 5 এবং 1 এর মধ্যে তুলনা করব , যেহেতু 5 এর চেয়ে 1 ছোট সেহেতু 1 আগে চলে যাবে এবং 5 সামনে চলে যাবে ।
প্রথম ধাপঃ- ( 5 1 4 2 8 ) –> ( 1 5 4 2 8 ) এখানে 5 > 1
এবার 5 এর সাথে 4 এর তুলনা করব , যেহেতু 5 এর চেয়ে 4 ছোট সেহেতু 4 সরে গিয়ে 5 এর স্থানে বসে যাবে ।
( 1 5 4 2 8 ) –> ( 1 4 5 2 8 ), কারণ 5 > 4
এবার 5 এর সাথে 2 এর তুলনা করব
( 1 4 5 2 8 ) –> ( 1 4 2 5 8 ) এখানে 5 > 2
এবারে 5 এর সাথে 8 এর তুলনা করব , যেহেতু 8 আগে থেকেই বড় সেক্ষেত্রে এখানে কোন পরিবর্তন হবে না ।
( 1 4 2 5 8 ) –> ( 1 4 2 5 8 )
দ্বিতীয় ধাপঃ-
( 1 4 2 5 8 ) –> ( 1 4 2 5 8 )
( 1 4 2 5 8 ) –> ( 1 2 4 5 8 ), এখানে 4 > 2
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
এখানেই আমাদের সর্টিং শেষ , কিন্তু আমাদের এলগরিদম এটা জানেনা ! যতক্ষণ না পর্যন্ত আর কোন সংখ্যার সোয়াপিং হয় । তাই পুরো প্রসেসটা আবার শেষ বারের মত করতে হবে !
সর্বশেষ ধাপঃ
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
আসুন এবারে একটা ভিজুয়্যালি উদাহরণ দেখে নেই ~
আজ এই পর্যন্তই , সময়ের অভাবে নিয়মিত লেখা দিতে পারিনা বলে দুঃখিত । সামনের পর্বে বাকি সর্টিং এলগরিদমগুলো নিয়ে লিখব ইনশাআল্লাহ ! ততদিন ভালো থাকুন , প্রযুক্তির সাথে থাকুন :)
munira.ete:
Thanks.
Navigation
[0] Message Index
Go to full version