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[]
0Xóa một mục khỏi hàng đợi FIFO
import queue
q1 = queue.Queue[]
1đầu ra
import queue
q1 = queue.Queue[]
2Thêm và mục trong LIFOqueue
import queue
q1 = queue.Queue[]
3Xóa một mục khỏi LIFOqueue
import queue
q1 = queue.Queue[]
4đầu ra
import queue
q1 = queue.Queue[]
5Kế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