একটি অ্যালগরিদম নির্দেশাবলীর একটি সীমাবদ্ধ সেট হিসাবে সংজ্ঞায়িত করা হয় যা অনুসরণ করা হলে, একটি নির্দিষ্ট কাজ সম্পাদন করে। সমস্ত অ্যালগরিদমকে অবশ্যই নিম্নলিখিত মানদণ্ডগুলি পূরণ করতে হবে
ইনপুট. একটি অ্যালগরিদমে শূন্য বা তার বেশি ইনপুট থাকে, একটি নির্দিষ্ট বস্তুর সেট থেকে নেওয়া বা সংগ্রহ করা হয়৷
আউটপুট। একটি অ্যালগরিদমের ইনপুটগুলির সাথে একটি নির্দিষ্ট সম্পর্কযুক্ত এক বা একাধিক আউটপুট থাকে৷
নির্দিষ্টতা। প্রতিটি পদক্ষেপ স্পষ্টভাবে সংজ্ঞায়িত করা আবশ্যক; প্রতিটি নির্দেশ অবশ্যই স্পষ্ট এবং দ্ব্যর্থহীন হতে হবে।
সসীমতা। অ্যালগরিদম অবশ্যই একটি সীমিত সংখ্যক ধাপের পরে শেষ বা শেষ করতে হবে৷
কার্যকারিতা. সম্পন্ন করা সমস্ত ক্রিয়াকলাপগুলি অবশ্যই যথেষ্ট মৌলিক হতে হবে যাতে সেগুলি সঠিকভাবে এবং সীমাবদ্ধ দৈর্ঘ্যে করা যায়৷
আমরা একটি অ্যালগরিদমকে অনেক উপায়ে চিত্রিত করতে পারি।
- প্রাকৃতিক ভাষা:ইংরেজির মতো একটি প্রাকৃতিক ভাষা প্রয়োগ করুন
- ফ্লো চার্ট:গ্রাফিক উপস্থাপনা ফ্লোচার্টকে নির্দেশ করে, শুধুমাত্র যদি অ্যালগরিদম ছোট এবং সহজ হয়।
- সিউডো কোড:এই ছদ্ম কোডটি অস্পষ্টতার বেশিরভাগ সমস্যাকে এড়িয়ে যায়; সিনট্যাক্স প্রোগ্রামিং ল্যাঙ্গুয়েজ সংক্রান্ত কোন বিশেষত্ব।
উদাহরণ 1:একটি সংখ্যার ফ্যাক্টরিয়াল মান গণনার জন্য অ্যালগরিদম
Step 1: a number n is inputted Step 2: variable final is set as 1 Step 3: final<= final * n Step 4: decrease n Step 5: verify if n is equal to 0 Step 6: if n is equal to zero, goto step 8 (break out of loop) Step 7: else goto step 3 Step 8: the result final is printed
পুনরাবৃত্ত অ্যালগরিদম
একটি পুনরাবৃত্ত অ্যালগরিদম নিজেকে কল করে যা সাধারণত আবার অ্যালগরিদমে পরামিতি হিসাবে রিটার্ন মান পাস করে। এই প্যারামিটার ইনপুট নির্দেশ করে যখন রিটার্ন মান আউটপুট নির্দেশ করে।
পুনরাবৃত্তিমূলক অ্যালগরিদমকে সরলীকরণের একটি পদ্ধতি হিসাবে সংজ্ঞায়িত করা হয় যা সমস্যাটিকে একই প্রকৃতির উপ-সমস্যাগুলিতে ভাগ করে। একটি পুনরাবৃত্তির ফলাফল পরবর্তী পুনরাবৃত্তির জন্য ইনপুট হিসাবে বিবেচিত হয়। পূরন হল স্ব-অনুরূপ ফ্যাশন পদ্ধতিতে। অ্যালগরিদম ছোট ইনপুট মানগুলির সাথে নিজেকে কল করে এবং এই ছোট মানগুলির উপর ক্রিয়াকলাপগুলি সম্পাদন করে ফলাফলগুলি অর্জন করে৷ ফ্যাক্টোরিয়াল জেনারেশন, ফিবোনাচি সংখ্যা সিরিজকে রিকার্সিভ অ্যালগরিদমের উদাহরণ হিসেবে চিহ্নিত করা হয়।
উদাহরণ:রিকারশন ব্যবহার করে ফ্যাক্টোরিয়াল ফাংশন লেখা
intfactorialA(int n) { return n * factorialA(n-1); }