Bộ sưu tập hàng đợi python

Vì deque là một danh sách liên kết gấp đôi, tôi sẽ có thể lặp lại thông tin qua nó theo thứ tự mà không có bất kỳ chi phí hiệu quả nào so với danh sách. Tuy nhiên, những điều sau đây sẽ chậm hơn nhiều so với việc lặp lại thông tin qua danh sách

Hàng đợi là một vùng chứa dữ liệu. Dữ liệu được nhập trước sẽ bị xóa trước, và hàng đợi đó còn được gọi là “Nhập trước xuất trước” [FIFO]. Hàng đợi có hai đầu phía trước và hai phía sau. Các mục được nhập từ phía sau và loại bỏ từ phía trước

Hàng đợi Python hoạt động như thế nào?

Có thể dễ dàng so sánh Hàng đợi với ví dụ trong thế giới thực là dòng người xếp hàng chờ ở đối kháng bán vé, người đứng trước sẽ lấy vé trước, người tiếp theo là người tiếp theo, v. v. Logic tương tự cũng được áp dụng cho cấu trúc hàng đợi dữ liệu

Đây là một biểu đồ sơ đồ của hàng đợi

Phía sau đại diện cho điểm mà các mục được thêm vào bên trong Hàng đợi. Trong ví dụ này, 7 là giá trị cho điều đó

Mặt trước đại diện cho điểm mà các mục từ hàng đợi sẽ bị xóa. Nếu bạn xóa một mục khỏi Hàng đợi, phần đầu tiên bạn nhận được sẽ là 1, như thể hiện trong hình

Mục 1 là mục đầu tiên được đưa vào Hàng đợi, và trong khi xóa nó là mục đầu tiên xuất hiện. Hàng đợi đó được gọi là FIRST IN FIRST OUT [FIFO]

Trong một hàng đợi, các mục bị xóa theo thứ tự và không thể bị xóa ở giữa. Bạn chỉ không thể loại bỏ ngẫu nhiên mục 5 khỏi Hàng đợi, để làm điều đó, bạn sẽ phải xóa tất cả các mục trước 5. Các mục trong Hàng đợi sẽ bị xóa theo thứ tự chúng được thêm vào

Các loại hàng đợi trong Python

Chủ yếu có hai loại hàng đợi trong Python

  • Hàng đợi vào trước xuất trước. Đối với điều này, phần tử đi trước sẽ là phần tử xuất hiện đầu tiên.
    Để làm việc với FIFO, bạn phải gọi lớp Hàng đợi [] từ Hàng đợi mô-đun.
  • Cuối cùng trong hàng đợi xuất đầu tiên. Ở đây, phần tử được nhập sau cùng sẽ là phần tử xuất hiện đầu tiên.
    Để làm việc với LIFO, bạn phải gọi lớp LifoQueue[] từ hàng đợi mô-đun.

Cài đặt hàng đợi Python

Nó rất dễ dàng để làm việc với Queue trong python. Dưới đây là các bước cần làm để sử dụng Hàng đợi trong mã của bạn

Bước 1] Bạn chỉ cần nhập Hàng đợi mô-đun, như được hiển thị bên dưới

import queue

Mô-đun có sẵn theo mặc định với python và bạn không cần cài đặt thêm để bắt đầu làm việc với Hàng đợi. Có 2 loại hàng đợi FIFO [xuất trước nhập trước] và LIFO [nhập trước xuất sau]

Bước 2] Để làm việc với Hàng đợi FIFO, hãy gọi lớp Hàng đợi bằng cách sử dụng Hàng đợi mô-đun được nhập như hình dưới đây

import queue

q1 = queue.Queue[]

Bước 3] Để làm việc với Queue LIFO, hãy gọi lớp LifoQueue [] như hình dưới đây



import queue

q1 = queue.LifoQueue[]

Các phương thức có sẵn bên trong Hàng đợi lớp và LifoQueue

Sau đây là các phương thức quan trọng có sẵn bên trong Hàng đợi lớp và LifoQueue

  • đặt [đồ vật]. Thao tác này sẽ đưa mặt hàng vào bên trong Hàng đợi
  • được []. Điều này sẽ trả lại cho bạn một mục từ hàng đợi
  • khoảng trống []. Nó sẽ trả về true nếu Queue trống và false nếu có các mục
  • cỡ lớn []. return size of queue
  • đầy []. return true if Queue full, reverse is false

Ví dụ về Hàng đợi đầu tiên trong lần đầu tiên

Trong trường hợp ra trước, phần tử đi trước sẽ là phần tử đi đầu tiên

Add and item in a Queue

Hãy để chúng tôi làm việc trên một ví dụ để thêm một mục trong Hàng đợi. Để bắt đầu làm việc với Hàng đợi, trước tiên hãy nhập mô-đun Hàng đợi, như thể hiện trong ví dụ bên dưới

Để thêm một mục, bạn có thể sử dụng phương thức put [] như trong ví dụ

Theo mặc định, kích thước của hàng đợi là vô hạn và bạn có thể thêm bất kỳ số lượng mục nào vào đó. Trong trường hợp bạn muốn xác định kích thước của hàng đợi, bạn có thể thực hiện như sau

import queue

q1 = queue.Queue[5] #The max size is 5.

q1.put[1]

q1.put[2]

q1.put[3]

q1.put[4]

q1.put[5]

print[q1.full[]] # will return true.

đầu ra

True

Clear a item from Queue

Để xóa một mục khỏi Hàng đợi, bạn có thể sử dụng phương thức được gọi là get []. Phương thức này cho phép các mục từ Queue khi được gọi

Ví dụ sau đây cho thấy cách xóa một mục khỏi Hàng đợi

import queue

q1 = queue.Queue[]

q1.put[10]




item1 = q1.get[]




print['The item removed from the queue is ', item1]

đầu ra

The item removed from the queue is  10

>>>Tham khảo. Key learning Python

Ví dụ về Queue Cuối cùng trong Đầu ra

Trong trường hợp cuối cùng trong Hàng đợi xuất đầu tiên, phần tử được nhập sau cùng sẽ là phần tử xuất hiện đầu tiên

Để làm việc với LIFO, tức là, cuối cùng trong Hàng đợi ra đầu tiên, chúng ta cần nhập Hàng đợi mô-đun và sử dụng phương thức LifoQueue []

Add and item in a Queue

Ở đây chúng ta sẽ hiểu cách thêm một mục vào Hàng đợi LIFO

import queue

q1 = queue.LifoQueue[]

q1.put[10]

Bạn phải sử dụng phương thức put [] trên LifoQueue, như trong ví dụ trên

Clear a item from Queue

Để xóa một mục khỏi LIFOqueue, bạn có thể sử dụng phương thức nhận []

________số 8

đầu ra

The item removed from the LIFO queue is  10

Add more than 1 item in Queue

Trong các ví dụ trên, chúng ta đã thấy cách thêm một mục và xóa mục cho FIFO và LIFOqueue. Bây giờ chúng ta sẽ xem làm thế nào để thêm nhiều hơn một mục và cũng như loại bỏ nó

Add and item in FIFOqueue

import queue

q1 = queue.Queue[]
0

Xóa một mục khỏi hàng đợi FIFO

import queue

q1 = queue.Queue[]
1

đầu ra

import queue

q1 = queue.Queue[]
2

Thêm và mục trong LIFOqueue

import queue

q1 = queue.Queue[]
3

Xóa một mục khỏi LIFOqueue

import queue

q1 = queue.Queue[]
4

đầu ra

import queue

q1 = queue.Queue[]
5

Kết quả. Trên đây là một số kiến ​​thức cơ bản về Hàng đợi trong Python mà bạn cần phải nắm rõ khi thiết lập trình Python. Bạn có thể tìm hiểu thêm thông tin về Python tại mục blog của Viện công nghệ thông tin T3H

Chủ Đề