डेक मूल रूप से स्टैक और कतार संरचना का एक सामान्यीकरण है, जहां इसे बाएं से दाएं प्रारंभ किया जाता है। यह एक डेक बनाने के लिए सूची वस्तु का उपयोग करता है। यह पॉपिंग और संलग्न करने के लिए ओ (1) समय जटिलता प्रदान करता है।
Dequeis एक मानक पुस्तकालय वर्ग है, जो संग्रह . में स्थित है मॉड्यूल।
इसका उपयोग करने के लिए सबसे पहले हमें इसे संग्रह मानक पुस्तकालय मॉड्यूल आयात करने की आवश्यकता है।
import collections
इस खंड में हम Deque वर्ग के कुछ कार्य देखेंगे
Deque पर संलग्न कार्य
दो अलग-अलग प्रकार के परिशिष्ट हैं। एपेंड () विधि का उपयोग कतार के दाहिने छोर पर तत्वों को जोड़ने के लिए किया जाता है, और परिशिष्ट () विधि का उपयोग कतार के बाईं ओर तत्व को जोड़ने के लिए किया जाता है।
उदाहरण कोड
import collections as col #Insert some elements into the queue at first my_deque = col.deque('124dfre') print('Dequeue: ' + str(my_deque)) #insert x at right and B at left my_deque.append('x') my_deque.appendleft('B') print('Dequeue after appending: ' + str(my_deque))
आउटपुट
Dequeue: deque(['1', '2', '4', 'd', 'f', 'r', 'e']) Dequeue after appending: deque(['B', '1', '2', '4', 'd', 'f', 'r', 'e', 'x'])
द पॉपिंग डेक पर काम करता है
संलग्न करने की तरह, दो अलग-अलग प्रकार के पॉप फ़ंक्शन हैं। पॉप () विधि का उपयोग कतार से सबसे दाहिने तत्व को हटाने और वापस करने के लिए किया जाता है, और पॉपलेफ्ट () विधि का उपयोग कतार से सबसे बाएं तत्व को हटाने और वापस करने के लिए किया जाता है।
उदाहरण कोड
import collections as col #Insert some elements into the queue at first my_deque = col.deque('124dfre') print('Dequeue: ' + str(my_deque)) #delete item from right and left item = my_deque.pop() print('Popped Item: ' + str(item)) item = my_deque.popleft() print('Popped Item: ' + str(item)) print('Dequeue after pop operations: ' + str(my_deque))
आउटपुट
Dequeue: deque(['1', '2', '4', 'd', 'f', 'r', 'e']) Popped Item: e Popped Item: 1 Dequeue after pop operations: deque(['2', '4', 'd', 'f', 'r'])
Deque में आइटम संबंधित कार्य
Deque में कुछ फंक्शन का प्रयोग वस्तुओं से संबंधित जानकारी प्राप्त करने के लिए किया जाता है। इंडेक्स (), गिनती () इत्यादि जैसे कुछ कार्य हैं। इंडेक्स विधि का उपयोग पहली घटना की अनुक्रमणिका को प्राप्त करने के लिए किया जाता है। जब तत्व के साथ कोई तर्क पारित नहीं किया जाता है, तो यह पूरी सूची का चयन करेगा, जब एक निश्चित सीमा निर्दिष्ट की जाती है, तो यह उस सीमा में सूचकांक की जांच करती है। दूसरी ओर, गिनती () विधि डेक में किसी आइटम की आवृत्ति की गणना करती है।
उदाहरण कोड
import collections as col #Insert some elements into the queue at first my_deque = col.deque('AABCDDEFD') print('Dequeue: ' + str(my_deque)) #find the index of D print('Index of D:' + str(my_deque.index('D'))) print('Index of D in range 5 to 8 is: ' + str(my_deque.index('D', 5, 8))) #Count the number of occurrences print('Occurrences of A: ' + str(my_deque.count('A'))) print('Occurrences of D: ' + str(my_deque.count('D')))
आउटपुट
Dequeue: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Index of D:4 Index of D in range 5 to 8 is: 5 Occurrences of A: 2 Occurrences of D: 3
डेक में इन्सर्ट () और रिमूव () फंक्शन
हमने पहले से ही तत्वों को सम्मिलित करने और हटाने के लिए डेक में एपेंड और पॉप फ़ंक्शन को देखा है। सम्मिलन और विलोपन से संबंधित अन्य दो विधियाँ हैं। किसी संख्या को सम्मिलित करने के लिए सम्मिलित () विधि का उपयोग किया जाता है। इस मामले में हम डालने के लिए सूचकांक प्रदान कर सकते हैं। तो एक निर्दिष्ट स्थान पर, आइटम डाला जा सकता है। और किसी तत्व की पहली घटना को हटाने के लिए निकालें () विधि का उपयोग किया जाता है।
उदाहरण कोड
import collections as col #Insert some elements into the queue at first my_deque = col.deque('AABCDDEFD') print('Dequeue: ' + str(my_deque)) #Insert letter G and H into the position 5, 7 respectively my_deque.insert(5, 'G') my_deque.insert(7, 'H') print('Dequeue after inserting: ' + str(my_deque)) #Delete first occurrence of letter D my_deque.remove('D') print('Dequeue after removing: ' + str(my_deque))
आउटपुट
Dequeue: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Dequeue after inserting: deque(['A', 'A', 'B', 'C', 'D', 'G', 'D', 'H', 'E', 'F', 'D']) Dequeue after removing: deque(['A', 'A', 'B', 'C', 'G', 'D', 'H', 'E', 'F', 'D'])
Deque में फ़ंक्शन का विस्तार करना
Deque में कई तत्वों को जोड़ने के लिए विस्तृत कार्यों का उपयोग किया जाता है। हम कई मान प्रदान करने के लिए सूची, टुपल्स जैसे संग्रह का उपयोग कर सकते हैं। दो प्रकार के विस्तार कार्य हैं। विस्तार () विधि का उपयोग तत्वों को दाईं ओर जोड़ने के लिए किया जाता है, यह दोहराए जाने वाले एपेंड () फ़ंक्शन के समान है। और एक्सटेंडलेफ्ट () मेथड का इस्तेमाल लेफ्ट में एलिमेंट जोड़ने के लिए किया जाता है, यह रिपीटिटिव एपेंडलेफ्ट () फंक्शन के समान है।
उदाहरण कोड
import collections as col #Insert some elements into the queue at first my_deque = col.deque('AABCDDEFD') print('Dequeue: ' + str(my_deque)) #Extend by adding 1, 3, 5, 7 to the right and x, y, z to the left my_deque.extend([1, 3, 5, 7]) my_deque.extendleft(['x', 'y', 'z']) print('Dequeue after Extending: ' + str(my_deque))
आउटपुट
Dequeue: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Dequeue after Extending: deque(['z', 'y', 'x', 'A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D', 1, 3, 5, 7])
Deque में कार्यों को उलटना और घुमाना
हम रिवर्स () विधि का उपयोग करके डीक्यूअर के अनुक्रम को उलट सकते हैं। रोटेट () नामक एक और विधि है। रोटेट विधि का उपयोग करके, डेक को तर्क के रूप में निर्दिष्ट संख्या के साथ घुमाया जा सकता है। यदि तर्क सकारात्मक है, तो यह दाएँ घूमता है, और ऋणात्मक संख्या के लिए इसे बाएँ घुमाया जाएगा।
उदाहरण कोड
import collections as col #Insert some elements into the queue at first my_deque = col.deque('AABCDDEFD') print('Dequeue: ' + str(my_deque)) my_deque.reverse() print('Deque after Reversing:' + str(my_deque)) #rotate to the right, 3 elements my_deque.rotate(3) print('Deque after rotating:' + str(my_deque))
आउटपुट
Dequeue: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D']) Deque after Reversing:deque(['D', 'F', 'E', 'D', 'D', 'C', 'B', 'A', 'A']) Deque after rotating:deque(['B', 'A', 'A', 'D', 'F', 'E', 'D', 'D', 'C'])