পোস্টটি পড়া হয়েছে 2,743 বার
কুইক সর্ট অ্যালগরিদম - Quick Sort Algorithm

কুইক সর্ট অ্যালগরিদম – Quick Sort Algorithm

একটা অ্যারেকে সর্ট করার জন্য বেশ কিছু অ্যালগরিদম রয়েছে। একেকটার একেক বৈশিষ্ট্য বা সুবিধা-অসুবিধা রয়েছে। Efficient sorting algorithm-গুলোর মধ্যে কুইক সর্ট অন্যতম। Merge Sort এর মত Quick Sort-ও Divide and Conquer নামক algorithm design paradigm মেনে চলে। Average case এ quicksort এর complexity হচ্ছে O(n log n) কিন্তু worst case এ এর complexity O(n2) যা […]

পোস্টটি পড়া হয়েছে 2,787 বার
মার্জ সর্ট অ্যালগরিদম - Merge Sort Algorithm

মার্জ সর্ট অ্যালগরিদম – Merge Sort Algorithm

ধরো স্কুলের মাঠে ইয়া লম্বা দুইটা লাইন আছে। বাচ্চারা এই দুই লাইনে ছোট থেকে বড় আকারে দাঁড়িয়ে আছে। দুটি লাইনেরই একদম সামনের বাচ্চাটা সবচেয়ে খাটো আর লাইনের শেষের বাচ্চাটা সবচেয়ে লম্বা। তোমাকে বলা হল এই দুইটা লাইনের বাচ্চাদেরকে খাটো থেকে লম্বা এই অর্ডারে একটা লাইনে সাজাতে। তাহলে কী করবে? স্বাভাবিক ভাবেই আমাদের মাথায় আসবে যে, […]

পোস্টটি পড়া হয়েছে 2,496 বার

বাইনারি সার্চ অ্যালগরিদম – Binary Search Algorithm

তোমাকে ১৫০০ পৃষ্ঠার ইয়া মোটকা ডেইটেলের Java – How to Program বইটা হাতে দিয়ে বললাম ৮২২ নম্বর পৃষ্ঠায় কী বলা আছে পড়। তুমি কী করবে? বইটা বাম হাতে নিবে, ডান হাত দিয়ে প্রথম পৃষ্ঠা উল্টাবে। দেখবে সেটা ৮২২ নম্বর পৃষ্ঠা না, এরপর দ্বিতীয় পৃষ্ঠা উল্টাবে, এরপর তৃতীয়, চতুর্থ… এরকম করে কি পেজ উল্টাতে থাকবে? নিশ্চয়ই না!!! […]

পোস্টটি পড়া হয়েছে 2,335 বার

বাবল সর্ট অ্যালগরিদম – Bubble Sort Algorithm

ধরো, তোমাকে ১০০০, ৫০০, ১০০, ৫০, ২০, ১০ ইত্যাদি টাকার কিছু নোট দিলাম। বললাম সবগুলো নোট ও সিকি-আধুলি যা দেয়া হয়েছে সবগুলোকে ছোট থেকে বড় আকারে সাজাও। তখন তুমি কী করবে? প্রথমে দেখবে সবচেয়ে বড় নোটটা কত? এটাকে সবার শেষে পাঠাবে। অর্থাৎ ১০০০ টাকার নোটটা সবার শেষে চলে যাবে। এরপর এই ১০০০ টাকার নোট বাদে […]

পোস্টটি পড়া হয়েছে 2,331 বার
লিনিয়ার সার্চ, Linear search algorithm

লিনিয়ার সার্চঃ অ্যারেতে সার্চ করার সবচেয়ে সহজ অ্যালগরিদম

অ্যারে হচ্ছে সবচেয়ে সহজতম ডেটা স্ট্রাকচার। সিম্পল কিছু ডেটা সিরিয়াল্যি স্টোর করার জন্য এই ডেটা স্ট্রাকচার ব্যবহৃত হয়। যে কোন ডেটা স্ট্রাকচারেই অসংখ্য ডেটার মধ্য থেকে কাংক্ষিত ডেটা খুঁজে বের করার প্রয়োজন হয়। এই ডেটা কত দ্রুত খুঁজে বের করা যায় সেটা একটা বড় চ্যালেঞ্জ। আজ দেখব অ্যারের কোন ডেটাকে সার্চ করার সবচেয়ে সহজ একটা […]

পোস্টটি পড়া হয়েছে 3,822 বার
কাউন্টিং সর্ট counting sort algorithm

কাউন্টিং সর্ট এলগরিদম – সবচেয়ে সহজ সর্টিং অ্যালগরিদম

একটা প্রবলেমের কথা চিন্তা করা যাক! তোমাকে বাংলাদেশের ১৬ কোটি মানুষের বয়স ইনপুট দেয়া হবে। নানান বয়সী মানুষের বয়স নিয়ে তোমাকে কাজ করতে হবে। কেউ হয়ত একদম ল্যাদা বাচ্চা, আবার কেউ হয়ত তোমার দাদা-নানার বয়সী। ইনপুট দেয়ার পর ধর তোমাকে সবগুলো মানুষের বয়সকে ছোট থেকে বড় আকারে সাজাতে হবে। এরপর প্রথম থেকে প্রিন্ট করতে হবে […]

পোস্টটি পড়া হয়েছে 4,806 বার
Flood Fill algorithm for Graphics Programming

ফ্লাড ফিল অ্যালগরিদমঃ গ্রাফিক্স প্রোগ্রামিং এর জন্য যা জানতেই হবে

Flood fill algorithm হচ্ছে কোন একটা গ্রাফ (graph) বা মাল্টি ডাইমেনশনাল এরের (Multi-dimensional array) মধ্যকার connected component-গুলো বের করার একটা কার্যকরি এলগোরিদম। ফ্লাড ফিলকে সিড ফিলও (Seed fill) বলা হয়ে থাকে। Flood মানে তো বন্যা। বন্যার পানি যেভাবে আসেপাশের এলাকাকে প্লাবিত করে এই এলগোরিদমটাও একই ধরণের কাজ করে। Computer Graphics কোর্সের graphics programming এর জন্য […]

পোস্টটি পড়া হয়েছে 3,980 বার

পৃথিবী শাসনকারী ১০ এলগরিদম – ২

পৃথিবী শাসনকারী ১০ অ্যালগরিদম – ১ এ উল্লেখ করেছিলাম কিছু সর্টিং আর গ্রাফ এলগরিদম। এই পর্বে জানব আরো কিছু এলগরিদমের নাম। RSA Algorithm এটি মূলত একটা Cryptography এর এলগরিদম। কোন একটা তথ্যকে encode-decode করার জন্য এটি ব্যবহৃত হয়। Cryptography এমন একটা পদ্ধতি যেটার সাহায্যে খুব স্পর্শকাতর আর গুরুত্বপূর্ণ তথ্য ডিজিটাল মাধ্যমে এক জায়গা থেকে আরেক […]

পোস্টটি পড়া হয়েছে 6,693 বার

পৃথিবীকে শাসনকারী ১০ অ্যালগরিদম – ১

অ্যালগরিদম কি? Algorithm হচ্ছে কোনো একটা সমস্যা সমাধান করার জন্য প্রয়োজনীয় ও সুনির্দিষ্ট কিছু ধাপের সমষ্টি। সাধারণত computer science এর  ক্ষেত্রে এলগরিদম কথাটি বেশি ব্যবহৃত হলেও শুধু computational কাজের জন্যেই যে আমরা এলগরিদম ব্যবহার করি তা না। বরং আমরা আমাদের ব্যক্তি জীবনেও এর প্রয়োগ করি। বোঝার সুবিধার জন্য ভাত রাঁধার সাথে তুলনা করা যেতে পারে। […]