Câu hỏi:
30/11/2024 15Thiết kế thuật toán kiểm tra xem trong dãy A có phần tử nào trùng nhau không, với quy trình theo phương pháp làm mịn dần.
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
Đáp án:
Khởi tạo một danh sách trống để lưu các phần tử đã duyệt qua.
Duyệt qua từng phần tử của dãy A, nếu phần tử đã có trong danh sách thì trả về "có", nếu chưa có thì thêm vào danh sách.
Kết thúc vòng lặp mà không phát hiện trùng nhau thì trả về "không".
Giải thích: Phương pháp làm mịn dần bắt đầu với ý tưởng duyệt qua từng phần tử, kiểm tra từng bước và chỉ thêm vào danh sách nếu phần tử chưa có. Cách làm này giúp phát hiện sự trùng lặp ngay khi có phần tử lặp lại, tránh phải kiểm tra dãy nhiều lần, giảm thiểu thời gian xử lý.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 2:
PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai
Trong thiết kế thuật toán kiểm tra hoán vị (Nhiệm vụ 1), bước nào sau đây là bước phù hợp để đảm bảo dãy A là một hoán vị của dãy số 1, 2, ..., n?
a) Kiểm tra độ dài của dãy A và đảm bảo độ dài bằng n.
b) Kiểm tra xem tất cả các số từ 1 đến n có mặt trong dãy A hay không.
c) Tính tổng các phần tử trong dãy A và so sánh với tổng của dãy từ 1 đến n.
d) Sắp xếp dãy A và so sánh với dãy 1, 2, ..., n.
Câu 3:
PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3
Trong nhiệm vụ kiểm tra hoán vị, thay vì sắp xếp dãy số A, ta có thể kiểm tra các điều kiện nào để xác định A có phải là hoán vị của dãy 1 đến n không?
Câu 4:
PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.
Phương pháp làm mịn dần có thể hiểu là gì trong quá trình thiết kế chương trình?
Câu 5:
Trong nhiệm vụ đếm số lần lặp (Nhiệm vụ 2), bước nào sau đây là hợp lý để tính số lần lặp của từng phần tử trong dãy A theo phương pháp làm mịn dần?
a) Sử dụng một vòng lặp để duyệt từng phần tử của dãy A và đếm số lần xuất hiện của nó.
b) Sử dụng một hàm lap(x, A) để tính số lần lặp của một phần tử trong dãy A.
c) Sắp xếp dãy A và đếm số lần xuất hiện của các phần tử liên tiếp nhau.
d) Kiểm tra mỗi phần tử của dãy A có trùng lặp hay không bằng cách so sánh với các phần tử phía sau nó.
Câu 6:
Khi kiểm tra xem dãy số có phải là một hoán vị của dãy số từ 1 đến n, bước đầu tiên theo phương pháp làm mịn dần là gì?
Câu 7:
Trong nhiệm vụ đếm số lần lặp của mỗi phần tử trong dãy A, nếu dãy A được sắp xếp tăng dần trước, liệu có thể cải tiến thuật toán đếm số lần lặp tốt hơn không?
về câu hỏi!