Monday, June 3, 2013

অ্যালগরিদম

বাছাই ক্রমিকরণ  (selection sort)

সকলকে সাজাইয়া বাম থেকে ডানে
ছোটটাকে খুঁজে নিয়ে চেপে ধরো কানে
হড়হড় করে টেনে সমুখে আনিয়া
সাজাইয়া রাখো তারে অনুক্রম দিয়া
এর পরে বাকিদের থেকে ছোটটাকে
চাপকানা দিয়ে পরে চেপে ধরো নাকে
আলগোছে টেনে নিয়ে অনুক্রম পরে
বসাইয়া দাঅ তারে মজবুত করে
এভাবেই বাকিদের থেকে একে একে
উঠাইয়া আনো সবচেয়ে ছোটটাকে
অনুক্রমে বসাইয়া ফিরিও আবার
সকলকে একে একে করিও সাবাড়
যখন দেখিবে আর বাকি কেহ নাই
বাছাই ক্রমিকরণ শেষ হলো তাই।


বুদবুদ ক্রমিকরণ (bubble sort)

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


একত্রি ক্রমিকরণ (Merege sort) {অসম্পূর্ণ}

একক উপাদানের তালিকা যদি পাও
সেটাকেই তুলে নিয়ে উত্তর দাও
নইলে তালিকাটাকে কপাত করিয়া
কেটে দুইভাগ করো মাঝখান দিয়া
দুভাগের উপরেই একই কার্যকরণ
সম্মপন্ন করো একত্রি ক্রমিকরণ
(এ থেকে পাওয়া দুটি ক্রমতালিকাকে
মিলেমিশে একত্র করো একে একে
দু-তালিকাশীর্ষের ছোটটাকে নিয়া
পাশাপাশি সাজাইও অনুক্রম দিয়া)
এই ভাবে বারে বারে দুতালিকা থেকে
ছোটোশীর্ষটি নিয়ে রাখো একে একে।
অনুক্রম প্রস্তুতি শেষ হবে যখন
(এভাবে তালিকা করা শেষ হবে যখন)
সম্পন্ন হবে একত্রি ক্রমিকরণ।