এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে জানব৷
সমস্যা বিবৃতি − আমাদের তাদের নিজ নিজ শুরু এবং সমাপ্তির সময় সহ n কার্যক্রম দেওয়া হয়। একজন একক ব্যক্তির দ্বারা সঞ্চালিত হতে পারে এমন সর্বাধিক সংখ্যক ক্রিয়াকলাপ আমাদের নির্বাচন করতে হবে, যদি সে একবারে একটি কার্যকলাপে কাজ করে।
পরিবর্তনশীল স্বরলিপি
N - মোট কার্যকলাপের সংখ্যা
S - একটি অ্যারে যাতে সমস্ত কার্যকলাপের শুরুর সময় থাকে
F - একটি অ্যারে যাতে সমস্ত কার্যকলাপের শেষ সময় থাকে
এখন আসুন নীচের বাস্তবায়নে সমাধানটি পর্যবেক্ষণ করি -
# লোভী পদ্ধতি
উদাহরণ
# maximum number of activities that can be performed by a single person def Activities(s, f ): n = len(f) print ("The selected activities are:") # The first activity is always selected i = 0 print (i,end=" ") # For rest of the activities for j in range(n): # if start time is greator than or equal to that of previous activity if s[j] >= f[i]: print (j,end=" ") i = j # main s = [1, 2, 0, 3, 2, 4] f = [2, 5, 4, 6, 8, 8] Activities(s, f)
আউটপুট
The selected activities are: 0 1
সমস্ত ভেরিয়েবল স্থানীয় সুযোগে ঘোষণা করা হয়েছে এবং তাদের উল্লেখ উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই নিবন্ধে, আমরা শিখেছি কিভাবে আমরা কার্যকলাপ নির্বাচন সমস্যার জন্য একটি পাইথন প্রোগ্রাম তৈরি করতে পারি