পুনরাবৃত্তি
বিভাজন এবং সমস্যা সমাধানে পুনরাবৃত্তি কার্যকর। প্রতিটি পুনরাবৃত্ত কল নিজেই অন্যান্য পুনরাবৃত্ত কল বন্ধ করে দেয়। রিকার্সিভ ফাংশনের কেন্দ্রে দুই ধরনের কেস থাকে:বেস কেস, যা রিকারশনকে কখন শেষ করতে হবে এবং রিকার্সিভ কেস যেগুলো ফাংশনকে কল করে। রিকার্সিভ ফ্যাক্টোরিয়াল অ্যালগরিদমের দুটি কেস আছে:বেস কেস যখন n =0, এবং রিকারসিভ কেস যখন n>0।
ব্যাকট্র্যাকিং
৷ব্যাকট্র্যাকিং হল কিছু কম্পিউটেশনাল সমস্যার সমাধান খোঁজার জন্য একটি সাধারণ অ্যালগরিদম, যা ক্রমবর্ধমানভাবে সমাধানগুলির পছন্দ তৈরি করে এবং ট্র্যাকগুলির ক্রমাগত প্রক্রিয়াকরণকে প্রত্যাখ্যান করে যা অসম্ভব সমাধানের দিকে নিয়ে যায়৷ ব্যাকট্র্যাকিং আমাদের পূর্ববর্তী পছন্দগুলিকে পূর্বাবস্থায় ফিরিয়ে আনার অনুমতি দেয় যদি সেগুলি ভুল হয়ে যায়৷
ফ্যাক্টোরিয়ালের একটি সাধারণ বাস্তবায়ন নিম্নরূপ -
উদাহরণ
def factorial(n): #test for a base case if n==0: return 1 # make a calculation and a recursive call f= n*factorial(n-1) print(f) return(f) factorial(4)
এই কোডটি সংখ্যা 1, 2, 4, 24 প্রিন্ট করে। ফ্যাক্টরিয়াল 4 গণনা করতে চারটি পুনরাবৃত্ত কল এবং প্রাথমিক অভিভাবক কল প্রয়োজন।