इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे।
समस्या कथन
हमें n गतिविधियाँ उनके संबंधित प्रारंभ और समाप्ति समय के साथ दी गई हैं। हमें एक व्यक्ति द्वारा की जा सकने वाली अधिकतम गतिविधियों का चयन करना है, बशर्ते वह एक समय में एक गतिविधि पर काम करता हो।
वेरिएबल संकेतन:
N - कुल गतिविधियों की संख्या
S - एक सरणी जिसमें सभी गतिविधियों का प्रारंभ समय है
F - एक सरणी जिसमें सभी गतिविधियों का समाप्ति समय है
उदाहरण (लालची दृष्टिकोण)
# एक व्यक्ति द्वारा की जा सकने वाली अधिकतम गतिविधियों की संख्या
def Activities(s, f):
n = len(f)
print("The selected activities are:")
# पहली गतिविधि हमेशा चुनी जाती है
i = 0
print(i, end=" ")
# शेष गतिविधियों के लिए
for j in range(n):
# यदि प्रारंभ समय पिछली गतिविधि के समाप्ति समय से बड़ा या बराबर है
if s[j] >= f[i]:
print(j, end=" ")
i = j
# मुख्य
s = [1, 2, 0, 3, 2, 4]
f = [2, 5, 4, 6, 8, 8]
Activities(s, f)
आउटपुट
The selected activities are: 0 1
निष्कर्ष
इस लेख में हमने गतिविधि चयन समस्या के पायथन प्रोग्राम के बारे में सीखा।