অ্যালগরিদমঃ মার্জ সর্ট ও সি প্রোগ্রামিং এ ইমপ্লিমেন্টেশন

মার্জ সর্ট হচ্ছে Divide and Conquer অ্যালগরিদম। বিভিন্ন ধরণের অ্যালগরিদমিক প্যারাডাইম রয়েছে, যেমন Greedy, Dynamic Programming ইত্যাদি। Divide and Conquer হচ্ছে একটা প্যারাডাইম। এটি একটি সমস্যাকে সমাধান করতে নিচের ধাপ গুলো অনুসরণ করেঃ   Divide: সমস্যাটাকে ছোট ছোট অংশে ভাগ করে ফেলে। Conquer: ভাগ করার পর ছোট ছোট অংশ গুলোকে সমাধান করে। সাধারণত রিকার্শন ব্যবহার […]

Read More

অ্যালগরিদমঃ ইনসার্শন সর্ট ও সি প্রোগ্রামিং এ ইমপ্লিমেন্টেশন

কোন একটা লিস্ট নেওয়া, এবং ঐ লিস্টকে ক্রম অনুযায়ী সাজানোটাই হচ্ছে সর্টিং। ক্রম টা বড় থেকে ছোট হতে পারে বা ছোট থেকে বড় হতে পারে। অনেক গুলো সর্টিং অ্যালগরিদম রয়েছে। Insertion Sort তাদের মধ্যে একটি। আর কোন একটা কাজ করার ধাপ গুলোই হচ্ছে অ্যালগরিদম।   Insertion Sort এর ব্যাসিক আইডিয়া হচ্ছে লিস্টটাকে দুইটা অংশে ভাগ […]

Read More

অ্যালগরিদম, কমপ্লেক্সিটি এনালাইসিস ও নোটেশন

অ্যালগরিদম হচ্ছে কোন একটি কাজ করার স্টেপ গুলো। প্রতিদিনই আমরা শত শত অ্যালগরিদম ব্যবহার করছি, নিজেদের অজান্তেই। বাসা থেকে স্কুলে যাবো? কোন রাস্তা দিয়ে গেলে সময় সবচেয়ে কম লাগবে, তা চিন্তা করি। এটাও একটা অ্যালগরিদম। কম্পিউটার আবিষ্কারের আগেও অ্যালগরিদম ছিল। যদিও এখন আমরা অ্যালগরিদম বলতে কম্পিউটার সাইন্স এর একটা সাবজেক্ট বুঝি। মূলত এটি গণিতের একটা […]

Read More