সার্চিং এ্যালগরিদম (Searching algorithm)

17 June, 2011

সার্চিং প্রোগ্রামিং এর ক্ষেত্রে একটি অত্যন্ত গুরুত্বপূর্ণ বিষয়। সিংহভাগ প্রোগ্রামের ক্ষেত্রেই কোন না কোন সার্চ আমাদের করতে হয়। সার্চিংয়ের ক্ষেত্রে লিনিয়ার সার্চ, বাইনারী সার্চ, ব্রেথ ফার্স্ট সার্চ(BFS), ডেপথ ফার্স্ট সার্চ(DFS) ইত্যাদি জনপ্রিয় এ্যালগরিদম। তবে BFS এবং DFS গ্রাফের সাথে সম্পর্কিত বলে আজকে এ বিষয়ে আলোচনা করব না।

লিনিয়ার সার্চঃ

লিনিয়ার সার্চ হল সবচেয়ে সহজ এবং সর্বাধিক ব্যবহৃত সার্চিং এ্যালগরিদম। এই এ্যালগরিদমের ক্ষেত্রে একসারি তথ্যের(ডাটা) মধ্য থেকে কাঙ্খিত তথ্যটি খুজে পাওয়ার জন্য একটি একটি করে সবগুলো ডাটা খুঁজে দেখা। যদি কাঙ্খিত ডাটাটি খুঁজে পাওয়া যায় তবে খোঁজা বন্ধ করে দেয়া হয়।

সুবিধাঃ

অসুবিধাঃ

C++ প্রোগ্রামিং ভাষায় সোর্স কোডঃ

Java প্রোগ্রামিং ভাষায় সোর্স কোডঃ

বাইনারী সার্চঃ

বাইনারী সার্চ সবচেয়ে কার্যকর সার্চিং এ্যালগরিদম। এর মাধ্যমে খুব কম সময়ে বিপুল পরিমান তথ্যের মধ্য থেকে কাঙ্খিত তথ্যটি খুঁজে পাওয়া যায়। এর জন্য ডাটাগুলোকে সর্টিং বা সাজানো অবস্থায় থাকা লাগে। সাজানো ডাটা গুলোর মধ্য থেকে মাঝের ডাটাটিকে নিয়ে প্রথমে চেক করা হয়। যদি আমার কাঙ্খিত ডাটা মাঝের ডাটা থেকে বড় হয় তবে মাঝের ডাটাটির চেয়ে ছোট সবগুলোকে বাদ দিয়ে আবার মাঝের ডাটা বের করা হয়। এভাবে কাঙ্খিত তথ্য খুঁজে না পাওয়া পর্যন্ত এ প্রক্রিয়া চালানো হয়।

সুবিধাঃ

অসুবিধাঃ

C++ প্রোগ্রামিং ভাষায় সোর্স কোডঃ

Java প্রোগ্রামিং ভাষায় সোর্স কোডঃ