Giải thích bài tập: SP5150 JMFILTER - Bộ lọc thư rác (Ghi chú học tập về cấu trúc Disjoint Set)

Giải thích bài tập SP5150 Đề bài Bài gốc tại trang web SPOJ. Kiến thức tiên quyết Cấu trúc dữ liệu Disjoint Set (Union-Find). Tài khoản SPOJ. Hướng giải quyết Bài toán này dễ dàng nhận ra cần sử dụng cấu trúc Disjoint Set. (Nếu chưa biết thì xem phần kết luận cuối bài.) Với mỗi đỉnh \(i\), ta có thể trực tiếp thiết lập \(parent_i\) là cha của ...

Đăng vào ngày 7 tháng 9 lúc 03:48

Ngăn xếp và hàng đợi đơn điệu

Ngăn xếp & Hàng đợi đơn điệu Ngăn xếp đơn điệu Giới thiệu Ngăn xếp đơn điệu là một cấu trúc dữ liệu có tính chất đơn điệu, tức là các phần tử trong ngăn xếp được sắp xếp theo thứ tự tăng dần hoặc giảm dần. Khác với hàng đợi đơn điệu, ngăn xếp chỉ cho phép thao tác ở một đầu. Quy trình Thêm phần tử Khi thêm một phần tử vào ngăn xếp đơn điệu, ...

Đăng vào ngày 3 tháng 9 lúc 16:14

Tìm cặp số có tổng bằng mục tiêu sử dụng Bảng Băm

Bài toán Two Sum Cho một mảng các số nguyên nums và một số nguyên target. Yêu cầu là tìm hai số trong mảng có tổng bằng target và trả về các chỉ số (index) của chúng. Bạn có thể giả định rằng mỗi đầu vào chỉ có một lời giải duy nhất, và bạn không được sử dụng cùng một phần tử hai lần. Thứ tự trả về các chỉ số không quan trọng. Ví dụ: Ví dụ 1: ...

Đăng vào ngày 16 tháng 7 lúc 04:28

Triển khai menu đa cấp trong Python với cơ chế quay lui

Bài viết này hướng dẫn cách xây dựng một menu phân cấp ba cấp trong Python, tập trung vào việc tối ưu hóa mã nguồn và triển khai chức năng quay lui. Tối ưu hóa cấu trúc dữ liệu cho menu Mã nguồn cho các cấp độ khác nhau trong menu thường có cấu trúc lặp lại. Để giảm thiểu sự trùng lặp này, chúng ta có thể sử dụng một biến để theo dõi cấp độ hi ...

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

Cây AVL trong C++: Cấu trúc và thao tác cân bằng

Giới thiệu về cây AVL Cây tìm kiếm nhị phân (BST) có nhược điểm lớn khi bị mất cân bằng — trong trường hợp xấu nhất, nó suy biến thành danh sách liên kết, khiến độ phức tạp thao tác tìm kiếm, chèn, xóa lên tới O(N). Để khắc phục điều này, hai nhà toán học người Nga G.M. Adelson-Velskii và E.M. Landis đã đề xuất một cấu trúc gọi là cây AVL, đảm ...

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