Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Tìm hiểu về Deque trong Python
Deque (Double-Ended Queue – hàng đợi hai đầu) là một cấu trúc dữ liệu phổ biến trong Python, cung cấp khả năng thêm và loại bỏ phần tử từ cả hai phía một cách linh hoạt và hiệu quả. Trong Python, lớp deque
từ mô-đun collections
giúp đơn giản hóa các thao tác này với hiệu suất tối ưu, hỗ trợ các thao tác gần như O(1) thời gian cho cả việc thêm và loại bỏ. Bài viết này sẽ giới thiệu về deque
, cùng cách sử dụng các hàm tích hợp trong Python để thực hiện các thao tác cơ bản trên cấu trúc này, từ đó giúp bạn tận dụng tối đa công cụ này trong việc tổ chức và quản lý dữ liệu.
Deque trong Python là gì?
Deque là viết tắt của double-ended queue (hàng đợi hai đầu), cho phép chúng ta thêm hoặc loại bỏ phần tử từ cả hai phía. Trong Python, mô-đun collections
cung cấp lớp deque
để triển khai deque.
Lớp deque
là một kiểu chuỗi đa năng, linh hoạt và hiệu quả, hỗ trợ việc thêm và loại bỏ phần tử từ hai đầu với độ phức tạp thời gian gần O(1). Đây là lựa chọn lý tưởng khi bạn cần một cấu trúc dữ liệu hỗ trợ thao tác vào/ra ở cả hai đầu nhanh chóng và tiết kiệm bộ nhớ.
Dưới đây là một số thao tác cơ bản với deque
:
Bài viết này được đăng tại [free tuts .net]
from collections import deque # Tạo một deque d = deque(['Black', 'White', 'Red', 'Green']) # Thêm phần tử vào bên phải d.append('Blue') # Kết quả: deque(['Black', 'White', 'Red', 'Green', 'Blue']) # Thêm phần tử vào bên trái d.appendleft('Yellow') # Kết quả: deque(['Yellow', 'Black', 'White', 'Red', 'Green', 'Blue']) # Loại bỏ phần tử từ bên phải d.pop() # Trả về: 'Blue' # Loại bỏ phần tử từ bên trái d.popleft() # Trả về: 'Yellow' # Lấy kích thước của deque len(d) # Trả về: 5
Một số hàm khác của Deque
Bên cạnh các hàm append()
và pop()
, deque
còn cung cấp nhiều hàm khác giúp thao tác nhanh chóng:
from collections import deque # Tạo một deque queue = deque(['Black', 'White', 'Red', 'Green']) # Thêm nhiều phần tử vào bên phải deque queue.extend(['Blue', 'Yellow']) # Kết quả: deque(['Black', 'White', 'Red', 'Green', 'Blue', 'Yellow']) # Thêm nhiều phần tử vào bên trái deque queue.extendleft(['Orange', 'Purple']) # Kết quả: deque(['Orange', 'Purple', 'Black', 'White', 'Red', 'Green', 'Blue', 'Yellow']) # Đếm số lần xuất hiện của một phần tử queue.count('Black') # Trả về: 1 # Chèn một phần tử tại một vị trí nhất định queue.insert(2, 'Brown') # Kết quả: deque(['Orange', 'Purple', 'Brown', 'Black', 'White', 'Red', 'Green', 'Blue', 'Yellow'])
Kết bài
Trong bài viết này, bạn đã tìm hiểu các thao tác cơ bản với deque
trong Python thông qua mô-đun collections
, cũng như các hàm hỗ trợ sẵn trong lớp deque
để thao tác với hàng đợi hai đầu. Deque
là một công cụ hữu ích, giúp thao tác linh hoạt với chuỗi dữ liệu. Để tìm hiểu thêm chi tiết, bạn có thể tham khảo tài liệu chính thức của Python.