Queues के साथ काम

Python में Data Structures और Algorithms

Miriam Antona

Software Engineer

Queues

  • FIFO: First-In First-Out

    • सबसे पहले डाला गया आइटम सबसे पहले निकलेगा

      तीन लोगों वाली सुपरमार्केट लाइन की तस्वीर.

Python में Data Structures और Algorithms

Queues

  • FIFO: First-In First-Out

    • सबसे पहले डाला गया आइटम सबसे पहले निकलेगा

      सुपरमार्केट लाइन की तस्वीर जिसमें दो लोग हैं क्योंकि पहला व्यक्ति कतार से निकल गया.

Python में Data Structures और Algorithms

Queues

  • FIFO: First-In First-Out

    • सबसे पहले डाला गया आइटम सबसे पहले निकलेगा

      सुपरमार्केट लाइन की तस्वीर जिसमें एक व्यक्ति है क्योंकि पहले और दूसरे लोग कतार से निकल गए.

Python में Data Structures और Algorithms

Queues - संरचना

कुछ अंतरराष्ट्रीय व्यंजनों के नामों वाली एक queue का योजनात्मक चित्र.

Python में Data Structures और Algorithms

Queues - संरचना

कुछ अंतरराष्ट्रीय व्यंजनों के नामों वाली एक queue का योजनात्मक चित्र. शब्द "head" कतार की शुरुआत की ओर इशारा करता है.

  • शुरुआत: head
Python में Data Structures और Algorithms

Queues - संरचना

कुछ अंतरराष्ट्रीय व्यंजनों के नामों वाली एक queue का योजनात्मक चित्र. शब्द "tail" कतार के अंत की ओर इशारा करता है.

  • शुरुआत: head
  • अंत: tail
Python में Data Structures और Algorithms

Queues - विशेषताएँ

दो अंतरराष्ट्रीय व्यंजनों के नामों वाली queue का योजनात्मक चित्र. "head" शुरुआत पर और "tail" अंत पर इशारा करते हैं.

Python में Data Structures और Algorithms

Queues - विशेषताएँ

एक queue का योजनात्मक चित्र. नए एलिमेंट को queue के tail पर डाला गया है.

  • केवल अंत पर ही insert कर सकते हैं
    • Enqueue
Python में Data Structures और Algorithms

Queues - विशेषताएँ

एक queue का योजनात्मक चित्र. पहला एलिमेंट काटा हुआ है क्योंकि इसे हटाया जाएगा.

  • केवल अंत पर ही insert कर सकते हैं
    • Enqueue
  • केवल head से ही remove कर सकते हैं
Python में Data Structures और Algorithms

Queues - विशेषताएँ

एक queue का योजनात्मक चित्र. पहला एलिमेंट हट जाने से queue में केवल दो एलिमेंट बचे हैं.

  • केवल अंत पर ही insert कर सकते हैं
    • Enqueue
  • केवल head से ही remove कर सकते हैं
    • Dequeue
  • अन्य प्रकार की queues:
    • Doubly ended queues
    • Circular queues
    • Priority queues
Python में Data Structures और Algorithms

Queues - असली उपयोग के मामले

  • प्रिंटर में printing tasks
    • डॉक्यूमेंट्स जिस क्रम में आते हैं, उसी क्रम में प्रिंट होते हैं
  • जिन एप्लिकेशन्स में रिक्वेस्ट का क्रम मायने रखता है
    • कंसर्ट के टिकट
    • टैक्सी सेवाएँ
Python में Data Structures और Algorithms

Queues - implementation

class Node:
  def __init__(self,data):
    self.data = data
    self.next = None
class Queue:
  def __init__(self):
    self.head = None
    self.tail = None
Python में Data Structures और Algorithms

Queues - enqueue

def enqueue(self,data):

new_node = Node(data)
if self.head == None:

एक queue का योजनात्मक चित्र जिसमें एक एलिमेंट है. queue को एक node से implement किया गया है.

Python में Data Structures और Algorithms

Queues - enqueue

def enqueue(self,data):
  new_node = Node(data)
  if self.head == None:
    self.head = new_node
    self.tail = new_node

एक queue का योजनात्मक चित्र जिसमें एक एलिमेंट है. queue को एक node से implement किया गया है. "head" और "tail" शब्द node की ओर इशारा करते हैं.

Python में Data Structures और Algorithms

Queues - enqueue

def enqueue(self,data):
  new_node = Node(data)
  if self.head == None:
    self.head = new_node
    self.tail = new_node

else:

एक queue का योजनात्मक चित्र जिसमें दो एलिमेंट हैं. queue nodes से implement की गई है. एक नया node insert होने के लिए तैयार है.

Python में Data Structures और Algorithms

Queues - enqueue

def enqueue(self,data):
  new_node = Node(data)
  if self.head == None:
    self.head = new_node
    self.tail = new_node

else: self.tail.next = new_node

एक queue का योजनात्मक चित्र जिसमें तीन एलिमेंट हैं. "tail" अब भी दूसरे node की ओर इशारा करता है.

Python में Data Structures और Algorithms

Queues - enqueue

def enqueue(self,data):
  new_node = Node(data)
  if self.head == None:
    self.head = new_node
    self.tail = new_node

else: self.tail.next = new_node self.tail = new_node

एक queue का योजनात्मक चित्र जिसमें तीन एलिमेंट हैं. "tail" आखिरी डाले गए node की ओर इशारा करता है.

Python में Data Structures और Algorithms

Queues - dequeue

एक queue का योजनात्मक चित्र जिसमें तीन एलिमेंट हैं. "head" पहले node पर और "tail" आखिरी node पर इशारा करते हैं.

def dequeue(self):

if self.head:
Python में Data Structures और Algorithms

Queues - dequeue

एक queue का योजनात्मक चित्र जिसमें तीन एलिमेंट हैं. "head" और "current_node" पहले node पर, और "tail" आखिरी node पर इशारा करते हैं.

def dequeue(self):
  if self.head:
    current_node = self.head





Python में Data Structures और Algorithms

Queues - dequeue

एक queue का योजनात्मक चित्र जिसमें तीन एलिमेंट हैं. "head" पहले node पर, "current_node" दूसरे पर, और "tail" आखिरी node पर इशारा करता है.

def dequeue(self):
  if self.head:
    current_node = self.head
    self.head = current_node.next




Python में Data Structures और Algorithms

Queues - dequeue

एक queue का योजनात्मक चित्र जिसमें दो एलिमेंट हैं. "head" पहले node पर, और "tail" आखिरी node पर इशारा करता है. कतार से अलग एक node है जिस पर "current_node" लिखा है.

def dequeue(self):
  if self.head:
    current_node = self.head
    self.head = current_node.next
    current_node.next = None




Python में Data Structures और Algorithms

Queues - dequeue

एक node जिस पर "current_node" और "tail" इशारा करते हैं. "head" null की ओर इशारा करता है.

def dequeue(self):
  if self.head:
    current_node = self.head
    self.head = current_node.next
    current_node.next = None

if self.head == None:
Python में Data Structures और Algorithms

Queues - dequeue

एक node जिस पर "current_node" इशारा करता है. "head" और "tail" null की ओर इशारा करते हैं.

def dequeue(self):
  if self.head:
    current_node = self.head
    self.head = current_node.next
    current_node.next = None

    if self.head == None:
      self.tail = None    
Python में Data Structures और Algorithms

Python में SimpleQueue

  • मॉड्यूल: queue
    • Queue
    • SimpleQueue
import queue


orders_queue = queue.SimpleQueue()
orders_queue.put("Sushi") orders_queue.put("Lasagna") orders_queue.put("Paella")
print("The size is: ", orders_queue.qsize())
The size is: 3
print(orders_queue.get())
print(orders_queue.get())
print(orders_queue.get())
Sushi
Lasagna
Paella
print("Empty queue: ", orders_queue.empty())
Empty queue: True
Python में Data Structures और Algorithms

अभ्यास करते हैं!

Python में Data Structures और Algorithms

Preparing Video For Download...