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

अपेक्षित रेखीय समय में सूची से nवें सबसे बड़े तत्व का चयन करने के लिए पायथन कार्यक्रम

जब रैखिक समय जटिलता में सूची से nवें सबसे बड़े तत्व का चयन करना आवश्यक होता है, तो दो विधियों की आवश्यकता होती है। सबसे बड़ा तत्व खोजने की एक विधि, और दूसरी विधि जो सूची को दो भागों में विभाजित करती है। यह विभाजन उपयोगकर्ता द्वारा दिए गए 'i' मान पर निर्भर करता है। इस मान के आधार पर, सूची को विभाजित किया जाता है, और सबसे बड़ा तत्व निर्धारित किया जाता है।

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

उदाहरण

def select_largest(my_list, beg, end, i):if end - beg <=1:return my_list[beg]pit_val =start_partition(my_list, beg, end) k =end -pit_val अगर मैं  के:रिटर्न सिलेक्ट_लार्जेस्ट (माय_लिस्ट, बेग, पिवोट_वल, आई - के) रिटर्न माय_लिस्ट [पिवोट_वल] डिफ स्टार्ट_पार्टिशन (माय_लिस्ट, बेग, एंड):पिवोट_वल =माय_लिस्ट [भीख] i =beg + 1 j =end - 1 जबकि ट्रू:जबकि (i <=j और my_list[i] <=pit_val):i =i + 1 जबकि (i <=j और my_list[j]>=pit_val):j =j-1 अगर मैं <=j:my_list[i], my_list[j] =my_list[j], my_list[i] अन्य:my_list[beg], my_list[j] =my_list[j], my_list[beg ] वापसी jmy_list =इनपुट ('संख्याओं की सूची दर्ज करें ..') my_list =my_list.split() my_list =[int (x) x के लिए my_list में] i =int (इनपुट ('मैं के लिए मान दर्ज करें ..') ))ith_बड़ा =चुनें 

आउटपुट

संख्याओं की सूची दर्ज करें.. 34 67 12 0 999i के लिए मान दर्ज करें.. 1परिणाम 999 है।

स्पष्टीकरण

  • 'सेलेक्ट_लार्जेस्ट' नामक एक विधि को परिभाषित किया गया है, जो सूची लेता है, शुरुआत, अंत और एक 'i' मान को पैरामीटर के रूप में लिया जाता है।

  • 'Start_partition' नाम की एक अन्य विधि को परिभाषित किया गया है जो 'i' के मान के आधार पर सूची को दो भागों में विभाजित करती है।

  • इस विधि को 'सेलेक्ट_लार्जेस्ट' मेथड में कहा जाता है।

  • 'सेलेक्ट_लार्जेस्ट' को भी उसी फंक्शन के अंदर फिर से कॉल किया जाता है- इस तरह रिकर्सन काम करता है।

  • नंबर उपयोगकर्ता से इनपुट के रूप में लिए जाते हैं।

  • यह डिफ़ॉल्ट मान के आधार पर विभाजित होता है।

  • इसे पुनरावृत्त किया गया है।

  • 'i' के लिए एक मान उपयोगकर्ता से लिया जाता है।

  • इस 'i' मान के आधार पर सूची को दो भागों में बांटा गया है।

  • सूची में से किसी एक पर 'select_largest' पद्धति को कॉल किया जाता है।

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


  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, हमें सरणी के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूटफोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके सबसे बड़े तत्व की गणना करते हैं और तत्व प्राप्त करते हैं।

  1. न्यूनतम मूल्य के साथ पायथन सूची से तत्व कैसे खोजें?

    न्यूनतम मान वाले तत्व को खोजने के लिए, आपको सूची के साथ तर्क के रूप में min() फ़ंक्शन को कॉल करने की आवश्यकता है। न्यूनतम फ़ंक्शन उस सूची पर पुनरावृति करता है, जब तक कि वह अंत तक नहीं पहुंच जाता, तब तक उसका सामना किए गए न्यूनतम मूल्य पर नज़र रखता है। फिर यह यह मान लौटाता है। उदाहरण my_list = [2, 3,

  1. अधिकतम मूल्य के साथ पायथन सूची से तत्व कैसे खोजें?

    अधिकतम मान वाले तत्व को खोजने के लिए, आपको सूची के साथ अधिकतम () फ़ंक्शन को तर्क के रूप में कॉल करने की आवश्यकता है। अधिकतम फ़ंक्शन सूची में पुनरावृति करता है, जब तक कि यह अंत तक नहीं पहुंच जाता है, तब तक इसका सामना करने वाले अधिकतम मूल्य का ट्रैक रखता है। फिर यह यह मान लौटाता है। उदाहरण my_list =