Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

कडेन के एल्गोरिथम का उपयोग करके अधिकतम सबअरे समस्या को हल करने के लिए पायथन कार्यक्रम

जब कडाने के एल्गोरिदम का उपयोग करके अधिकतम उप सरणी को खोजने की आवश्यकता होती है, तो एक विधि परिभाषित की जाती है जो अधिकतम उप सरणी को खोजने में मदद करती है। अधिकतम उप सरणी का ट्रैक रखने के लिए इटरेटर का उपयोग किया जाता है।

नीचे उसी का प्रदर्शन है -

उदाहरण

def find_max_sub_array(my_list, beg, end):
   max_end_at_i = max_seen_till_now = my_list[beg]
   max_left_at_i = max_left_till_now = beg
   max_right_till_now = beg + 1
   for i in range(beg + 1, end):
      if max_end_at_i > 0:
         max_end_at_i += my_list[i]
      else:
         max_end_at_i = my_list[i]
         max_left_at_i = i
      if max_end_at_i > max_seen_till_now:
         max_seen_till_now = max_end_at_i
         max_left_till_now = max_left_at_i
         max_right_till_now = i + 1
   return max_left_till_now, max_right_till_now, max_seen_till_now

my_list = input('Enter the list of numbers... ')
my_list = my_list.split()
my_list = [int(x) for x in my_list]
beg, end, max_val = find_max_sub_array(my_list, 0, len(my_list))
print('The maximum subarray begins at index {}, ends at index {}'
   ' and its sum is {}.'.format(beg, end - 1, max_val))
है

आउटपुट

Enter the list of numbers... 2 5 7 12 6 8
The maximum subarray begins at index 0, ends at index 5 and its sum is 40.

स्पष्टीकरण

  • 'find_max_sub_array' नाम की एक विधि परिभाषित की गई है जो तीन पैरामीटर लेती है।

  • किसी दी गई सीमा के भीतर अधिकतम उप सरणी पाई जाती है।

  • यह एक टपल लौटाता है जहां अधिकतम उप सरणी के बाएँ, दाएँ सूचकांकों को इसके योग के साथ लौटाया जाता है।

  • एक लूप का उपयोग इंडेक्स i पर समाप्त होने वाले अधिकतम सब एरे पर चेक रखने के लिए किया जाता है।

  • यह सभी उप सरणियों में से अधिकतम है।

  • यह विधि अब तक देखे गए उप सरणी के अधिकतम योग का भी ट्रैक रखती है, क्योंकि लूप बाएँ और दाएँ सूचकांकों के माध्यम से पुनरावृत्त होता है।

  • विधि के बाहर, संख्याओं की सूची को उपयोगकर्ता द्वारा इनपुट के रूप में लिया जाता है।

  • इसे विधि के पैरामीटर के रूप में पास किया जाता है।

  • यह कंसोल पर आउटपुट के रूप में प्रदर्शित होता है।


  1. पायथन में प्राइम एल्गोरिथ्म का उपयोग करके एमएसटी का पता लगाने का कार्यक्रम

    मान लीजिए हमें एक ग्राफ दिया गया है और उस ग्राफ से न्यूनतम स्पैनिंग ट्री (एमएसटी) का पता लगाने के लिए कहा गया है। ग्राफ़ का MST भारित ग्राफ़ का एक उपसमुच्चय होता है जहाँ सभी शीर्ष मौजूद होते हैं और जुड़े होते हैं, और उपसमुच्चय में कोई चक्र मौजूद नहीं होता है। एमएसटी को न्यूनतम कहा जाता है क्योंकि एम

  1. पायथन का उपयोग करके अधिकतम संभावना के साथ पथ खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास n नोड्स के साथ एक अप्रत्यक्ष भारित ग्राफ है (नोड्स 0 से आगे गिने जाते हैं), यह ग्राफ एज सूची का उपयोग करके इनपुट के रूप में दिया जाता है, प्रत्येक किनारे ई के लिए, उस किनारे की संभावना [ई] को पार करने की सफलता की संभावना है। हमारे पास प्रारंभ और अंत नोड्स भी हैं, हमें शुरुआत स

  1. पायथन कार्यक्रम अधिकतम तीन।

    तीन नंबर ए बी और सी को देखते हुए, हमारा काम यह है कि हमें दी गई संख्या में से अधिकतम तत्व को खोजना है। उदाहरण Input: a = 2, b = 4, c = 3 Output: 4 एल्गोरिदम Step 1: input three user input number. Step2: Add three numbers to list. Step 3: Using max() function to find the greatest number max(lst).