Hiểu sâu về C++ STL: Giả lập unordered_map và unordered_set
Giới thiệu
unordered_map và unordered_set là hai container mạnh mẽ trong thư viện chuẩn C++ STL, dựa trên cơ chế bảng băm để đạt được hiệu năng trung bình O(1) cho các thao tác tìm kiếm, chèn và xóa. Bài viết này sẽ phân tích nguyên lý hoạt động bên trong của chúng và cung cấp bản giả lập bằng C++.
Kiến thức nền
Bảng băm
Cấu trúc dữ liệu bảng ...
Đăng vào ngày 24 tháng 7 lúc 07:13
Hướng dẫn Toàn diện về Bảng băm trong Python: Từ Cơ bản đến Thực tiễn
Bảng băm là một trong những cấu trúc dữ liệu mạnh mẽ nhất trong Python, cho phép lưu trữ dữ liệu dưới dạng cặp khóa-giá trị với độ phức tạp thời gian trung bình O(1) cho các thao tác chèn, tìm kiếm và xóa. Dự án gh_mirrors/al/algorithms trên GitHub cung cấp các triển khai và ứng dụng thực tế của bảng băm, thể hiện sự tinh tế và hiệu quả của cấu ...
Đăng vào ngày 28 tháng 6 lúc 18:46
Thực hành thuật toán tuần thứ bảy | 454. Tổng bốn số II, 383. Thư đòi nợ, 15. Ba số tổng bằng 0, 18. Bốn số tổng bằng mục tiêu
Các bài tập hôm nay
454. Tổng bốn số II
Liên kết bài tập: 454. Tổng bốn số II - LeetCode
Phân tích: Nếu không dùng bảng băm (hashmap), phương pháp brute-force với bốn vòng lặp sẽ dẫn đến thời gian chạy quá lâu. Trong bài trước, khi giải bài 242. Kiểm tra chuỗi anagram - LeetCode, ta đã sử dụng một bảng băm để cộng và trừ giá trị. Trong bài 349. ...
Đăng vào ngày 25 tháng 6 lúc 20:40
Giải Thuật Tìm Tổng Ba Số Bằng Không và Đếm Mảng Con Có Tổng K
Bài Toán Tổng Ba Số Bằng Không
Cho mảng số nguyên, tìm tất cả bộ ba không trùng lặp thỏa mãn tổng bằng 0. Sắp xếp mảng giúp tối ưu quá trình tìm kiếm.
Phương Pháp Giải Quyết
Duyệt từng phần tử làm giá trị đầu tiên, sử dụng hai con trỏ để tìm cặp số phù hợp trong phần còn lại. Để tránh kết quả trùng lặp:
Bỏ qua phần tử đầu nếu trùng với giá t ...
Đăng vào ngày 12 tháng 6 lúc 20:12