এই পোস্টে আমরা অ্যালগরিদম এবং সিউডোকোডের পার্থক্য বুঝব।
অ্যালগরিদম (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
কোনো স্পেসিফিক ল্যাঙ্গুয়েজ ব্যবহার করা হয়নি, কিন্তু ফাংশনালিটি স্পষ্টভাবে উল্লেখ করা হয়েছে।