Thiết kế và Thực hiện Cấu trúc Dữ liệu LRU Cache

Mô tả vấn đề Bạn được yêu cầu thiết kế và thực hiện một cấu trúc dữ liệu tuân theo quy tắc LRU (Least Recently Used) cache. Cấu trúc này bao gồm các phương thức sau: LRUCache(int capacity): Khởi tạo cache với dung lượng tối đa là capacity. int get(int key): Trả về giá trị của key nếu tồn tại, ngược lại trả về -1. void put(int key, int v ...

Đăng vào ngày 17 tháng 9 lúc 04:51

Áp Dụng Bảng Băm Trong Python: Giải Quyết Bài Toán LeetCode Thực Tế

Bảng Băm Trong Ngữ Cảnh Python Trong Python, cấu trúc bảng băm thường được triển khai thông qua kiểu từ điển (dict). Khác với C, Python cung cấp sẵn cơ chế này như một thành phần ngôn ngữ, giúp tối ưu hóa thao tác tìm kiếm. Tìm Cặp Số Tổng Mục Tiêu (Mức Độ Dễ) Yêu cầu: Cho mảng số nguyên và giá trị mục tiêu, trả về chỉ số của hai số có tổng bằ ...

Đăng vào ngày 15 tháng 7 lúc 07:08

Tìm hiểu HashMap trong Java: Cấu trúc, Hoạt động và Lưu ý

HashMap là một trong những lớp triển khai phổ biến nhất của giao diện Map trong Java. Nó dựa trên bảng băm (hash table) để lưu trữ dữ liệu dưới dạng cặp key-value. Bài viết này sẽ đi sâu vào cấu trúc, cách thức hoạt động và những điểm cần lưu ý khi sử dụng HashMap. 1. Tổng quan về HashMap HashMap cho phép lưu trữ null cả ở key và value. Nó khô ...

Đăng vào ngày 7 tháng 7 lúc 09:11

Tổng Quan Kỹ Thuật Về `unordered_map` Và `unordered_set` Trong C++

Giới Thiệu Chung Vào hệ thống thư viện tiêu chuẩn C++, hai thành phần unordered_map và unordered_set đóng vai trò quan trọng nhờ cấu trúc dữ liệu bảng băm (Hash Table). Khác với các container có trật tự, chúng ưu tiên tốc độ truy xuất trung bình đạt O(1) cho các thao tác chèn, tìm kiếm và xóa. Bài viết này sẽ phân tích chi tiết nguyên lý, cách ...

Đăng vào ngày 15 tháng 6 lúc 02:02

Redis 5.0.7 Source Code Reading - Dictionary Implementation

In Redis, the dictionary-related files are dict.h and dict.c. The dictionary in Redis is more like a hash table. Data Structures dictEntry typedef struct dictEntry { void *key; union { void *val; uint64_t u64; int64_t s64; double d; } v; struct dictEntry *next; } dictEntry; The dictEntry str ...

Đăng vào ngày 20 tháng 5 lúc 13:38