Câu hỏi phỏng vấn Python
Câu hỏi

set() được implement nội bộ như thế nào?

Câu trả lời

Trong Python, set là một cấu trúc dữ liệu được triển khai nội bộ dựa trên một bảng băm (hash table). Bảng băm là một cấu trúc dữ liệu cho phép thao tác thêm, xóa và tìm kiếm các phần tử một cách hiệu quả với độ phức tạp thời gian trung bình là O(1) cho mỗi thao tác.

Khi một set được tạo, Python sử dụng một bảng băm để lưu trữ các phần tử của nó. Mỗi phần tử được thêm vào set sẽ được băm bằng một hàm băm để xác định vị trí của nó trong bảng băm. Do đặc tính của hàm băm, mỗi phần tử trong set phải là đối tượng có thể băm (hashable), tức là nó phải có một giá trị băm không đổi trong suốt thời gian tồn tại của nó và phải có phương thức __hash__()__eq__() được định nghĩa.

Các đặc điểm chính của set trong Python:

  • Không có thứ tự: Các phần tử tron...
senior

senior

Gợi ý câu hỏi phỏng vấn

expert

Tại sao không phải tất cả bộ nhớ đều được giải phóng khi Python thoát?

expert

Tại sao sử dụng else trong cấu trúc try/except trong Python?

expert

Tại sao bạn lại sử dụng metaclasses?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào