কম্পিউটার টিউটোরিয়াল

অ্যালগরিদম (Algorithm) এবং সিউডোকোড (Pseudocode) এর পার্থক্য


এই পোস্টে আমরা অ্যালগরিদম এবং সিউডোকোডের পার্থক্য বুঝব।

অ্যালগরিদম (Algorithm)

  • এটি সুপরিভাষিত স্টেপের একটি সিকোয়েন্স হিসেবে ডিফাইন করা হয়।
  • এই স্টেপগুলো হাতে থাকা সমস্যা সমাধানের একটি সমাধান/পথ দেয়।
  • এটি একটি সিস্টেম্যাটিক এবং লজিক্যাল অপ্রোച്ച, যেখানে প্রসিডিউর ধাপে ধাপে ডিফাইন করা থাকে।
  • এটি একটি নির্দিষ্ট সমস্যার সমাধান দেয়।
  • এই সমাধানটি মেশিন কোডে ট্রান্সলেট হয়, যা সিস্টেম দ্বারা এক্সিকিউট হয়ে রিলেভেন্ট আউটপুট দেয়।
  • অনেক সিম্পল অপারেশন কম্বাইন হয়ে একটি আরও জটিল অপারেশন তৈরি করে, যা কম্পিউটার সহজে পারফর্ম করে।
  • অ্যালগরিদম ন্যাচারেল ল্যাঙ্গুয়েজ, ফ্লোचार্ট ইত্যাদি ব্যবহার করে রিপ্রেজেন্ট করা যায়।
  • বুঝতে কঠিন।
  • প্লেইন টেক্সট ব্যবহার করা হয়।
  • ডিবাগ করা সহজ।
  • এর কনস্ট্রাকশন কঠিন।
  • এটি কনস্ট্রাক্ট করার সময় কোনো নিয়ম মানতে হয় না।
  • এটিকে একটি প্রোগ্রামের সিউডোকোড (pseudocode) হিসেবে বুঝা যায়।

লিনিয়ার সার্চের জন্য অ্যালগরিদম

  • অ্যারে-এর লেফটমোস্ট পার্ট থেকে একটি এলিমেন্ট সার্চ শুরু করুন।
  • প্রতিটি ইটারেশনে একটি এলিমেন্ট item_to_be_searched-এর সাথে কমপেয়ার করুন।
  • যদি কোনো ম্যাচ না পাওয়া যায়, -1 রিটার্ন করুন।
  • অন্যথায়, যে ইনডেক্সে এলিমেন্টটি আছে সেটি রিটার্ন করুন।

সিউডোকোড (Pseudocode)

  • এটিকে একটি অ্যালগরিদম রিপ্রেজেন্টেশনের মেথড হিসেবে বুঝা যায়।
  • এটি প্রোগ্রামিং ল্যাঙ্গুয়েজে কোডিং-এর একটি সিম্পলার ভার্শন।
  • এটি প্লেইন ইংরেজিতে লেখা হয়, এবং কোনো নির্দিষ্ট লাইন অফ কোড কী করবে সেটি লিখতে শর্ট ফ্রেজ ব্যবহার করা হয়।
  • কোনো স্পেসিফিক সিনট্যাক্স নেই যা অন্য প্রোগ্রামিং ল্যাঙ্গুয়েজে আছে।
  • এটি মানে এটিকে কম্পিউটারে এক্সিকিউট করা যায় না।
  • সিউডোকোড লেখার অনেক ফরম্যাট হতে পারে।
  • এদের অধিকাংশ ফরম্যাট C, LISP, FORTRAN ইত্যাদি ল্যাঙ্গুয়েজ থেকে স্ট্রাকচার নেয়।
  • সিউডোকোড আসলে একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়।
  • কন্ট্রোল স্ট্রাকচার যেমন 'while', 'if-then-else', 'repeat-until' ইত্যাদি ব্যবহার করা যায়।

লিনিয়ার সার্চের জন্য সিউডোকোড

FUNCTION linear_search(array, search_item):
    FOR index FROM 0 -> length(array):
        IF array[index] == search_item THEN
            RETURN index
        ENDIF
    ENDLOOP
    RETURN -1
END FUNCTION

কোনো স্পেসিফিক ল্যাঙ্গুয়েজ ব্যবহার করা হয়নি, কিন্তু ফাংশনালিটি স্পষ্টভাবে উল্লেখ করা হয়েছে।


  1. অ্যালগরিদম (Algorithm) এবং ফ্লোचार্ট (Flowchart) এর পার্থক্য

  2. BFS এবং DFS-এর পার্থক্য

  3. C# এবং .NET-এর পার্থক্য

  4. Go এবং Java-এর পার্থক্য