बाइसेक्शन एल्गोरिदम का उपयोग लिस्ट में उस पोजीशन को खोजने के लिए किया जाता है, जहां डेटा डाला जा सकता है ताकि लिस्ट सॉर्टेड रहे। पायथन में bisect नामक एक मॉड्यूल है। इस मॉड्यूल का उपयोग करके, हम बाइसेक्शन एल्गोरिदम का उपयोग कर सकते हैं।
इस मॉड्यूल का उपयोग करने के लिए, हमें इसे आयात करना चाहिए।
import bisect
कुछ बाइसेक्शन संबंधित ऑपरेशन्स हैं। ये हैं:
मेथड bisect.bisect(list, element, begin, end)
यह मेथड सॉर्टेड लिस्ट में एक पोजीशन खोजने के लिए उपयोग किया जाता है, जहां नंबर रखा जा सकता है और लिस्ट सॉर्टेड रहती है। यदि एलिमेंट पहले से मौजूद है, तो यह दाएं सबसे पोजीशन लौटाएगा, जहां नंबर डाला जा सकता है।
मेथड bisect.bisect_left(list, element, begin, end)
यह मेथड bisect() मेथड के समान है। एकमात्र अंतर यह है, यदि आइटम पहले से मौजूद है, तो यह डेटा डालने के लिए बाएं सबसे स्थान लौटाएगा।
मेथड bisect.bisect_right(list, element, begin, end)
यह मेथड पूरी तरह से bisect() मेथड के समान है।
मेथड bisect.insort(list, element, begin, end)
यह मेथड एलिमेंट को सही पोजीशन में डालने के बाद सॉर्टेड लिस्ट प्राप्त करने के लिए उपयोग किया जाता है। यदि एलिमेंट पहले से मौजूद है, तो यह लिस्ट को सॉर्टेड रखने के लिए दाएं सबसे पोजीशन पर डालेगा।
मेथड bisect.insort_left(list, element, begin, end)
यह मेथड insort() मेथड के समान है। एकमात्र अंतर यह है, यदि एलिमेंट पहले से मौजूद है, तो यह लिस्ट को सॉर्टेड रखने के लिए बाएं सबसे पोजीशन पर डालेगा।
मेथड bisect.insort_right(list, element, begin, end)
यह मेथड पूरी तरह से insort() मेथड के समान है।
उदाहरण कोड
import bisect
my_list = [11, 25, 36, 47, 56, 69, 69, 69, 78, 78, 91, 102, 120]
print('Correct Location to insert 53 is: ' + str(bisect.bisect(my_list, 53, 0, len(my_list))))
print('Correct right Location to insert 69 is: ' + str(bisect.bisect_right(my_list, 69, 0, len(my_list))))
print('Correct left Location to insert 69 is: ' + str(bisect.bisect_left(my_list, 69, 0, len(my_list))))
bisect.insort(my_list, 59, 0, len(my_list))
print(my_list)
bisect.insort_left(my_list, 78, 0, len(my_list))
print(my_list)
आउटपुट
Correct Location to insert 53 is: 4 Correct right Location to insert 69 is: 8 Correct left Location to insert 69 is: 5 [11, 25, 36, 47, 56, 59, 69, 69, 69, 78, 78, 91, 102, 120] [11, 25, 36, 47, 56, 59, 69, 69, 69, 78, 78, 78, 91, 102, 120]