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

द्विभाजित - पायथन में सरणी द्विभाजन एल्गोरिथ्म

लंबी सूची में प्रत्येक प्रविष्टि के बाद सॉर्ट संचालन करना प्रोसेसर द्वारा खपत किए गए समय के मामले में महंगा हो सकता है। द्विभाजित मॉड्यूल सुनिश्चित करता है कि प्रविष्टि के बाद सूची स्वचालित रूप से क्रमबद्ध रहती है। इस उद्देश्य के लिए, यह द्विभाजन एल्गोरिथ्म का उपयोग करता है। मॉड्यूल में निम्नलिखित कार्य हैं:

bisect_left()

यह विधि क्रमबद्ध क्रम को बनाए रखने के लिए सूची में दिए गए तत्व के लिए सम्मिलन बिंदु का पता लगाती है। यदि यह सूची में पहले से मौजूद है, तो सम्मिलन बिंदु किसी भी मौजूदा प्रविष्टि से पहले (बाईं ओर) होगा। वापसी मान का उपयोग list.insert()

. के पहले पैरामीटर के रूप में किया जा सकता है

bisect_right()

यह विधि bisect_left() के समान है, लेकिन एक सम्मिलन बिंदु देता है जो x की किसी भी मौजूदा प्रविष्टि के बाद (दाईं ओर) आता है।

bisect.insort_left()

यह विधि दिए गए मान को क्रमबद्ध क्रम में सम्मिलित करती है। यह a.insert(bisect.bisect_left(a, x, lo, hi), x)

के बराबर है

bisect.insort_right()

bisect.insort()

बोथे विधियाँ insort_left() के समान हैं, लेकिन समान मान की किसी भी मौजूदा प्रविष्टि के बाद सूची में दिए गए मान को सम्मिलित करना।

उदाहरण

>>> nums = [45,21,34,87,56,12,5,98,30,63]
>>> nums.sort()
>>> nums
[5, 12, 21, 30, 34, 45, 56, 63, 87, 98]
>>> import bisect
>>> p = bisect.bisect_left(nums,50)
>>> p
6
>>> nums.insert(p,50)
>>> nums
[5, 12, 21, 30, 34, 45, 50, 56, 63, 87, 98]
>>> bisect.insort(nums, 29)
>>> nums
[5, 12, 21, 29, 30, 34, 45, 50, 56, 63, 87, 98]

  1. पायथन में सरणी विभाजन I

    मान लीजिए कि हमारे पास 2n पूर्णांकों की एक सरणी है, हमें इन पूर्णांकों को पूर्णांक के n जोड़े में समूहित करना है, जैसे (a1, b1), (a2, b2), ..., (a, bn) जो न्यूनतम योग बनाता है (ai, bi) जितना संभव हो 1 से n तक के सभी i के लिए। तो अगर इनपुट [1, 4, 3, 2] है, तो आउटपुट 4 होगा। तो n 2 है। और जोड़े का अधि

  1. पायथन में ऐरे घुमाएँ

    मान लीजिए कि हमारे पास एक सरणी A है। हमें इसे k चरणों में घुमाना है। तो अगर सरणी ए =[5, 7, 3, 6, 8, 1, 5, 4], और के =3 है, तो आउटपुट [1,5,4,5,7,3,6] होगा। 8]. कदम इस प्रकार हैं [4,5,7,3,6,8,1,5] [5,4,5,7,3,6,8,1] [1,5,4,5,7,3,6,8] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे। चलो n सरणी का आका

  1. पायथन ऐरे बिसेक्शन एल्गोरिथम

    द्विभाजित एल्गोरिथ्म का उपयोग सूची में स्थिति खोजने के लिए किया जाता है, जहां सूची को क्रमबद्ध रखने के लिए डेटा डाला जा सकता है। पायथन में एक मॉड्यूल होता है जिसे द्विभाजित . कहा जाता है . इस मॉड्यूल का उपयोग करके, हम द्विभाजित एल्गोरिदम का उपयोग कर सकते हैं। इस मॉड्यूल का उपयोग करने के लिए, हमें इ