btvn.vn
Tìm kiếm Đăng nhập

Duyệt tìm một và tất cả kết quả

Lưu trên thiết bị này
Chuyên đề lựa chọn CS: Kĩ thuật duyệt · Chọn bài khác

Cùng chỉ số là cùng một bản ghi

Kĩ thuật duyệt lần lượt kiểm tra dữ liệu trong miền tìm kiếm với điều kiện của bài toán. Cần biết đang tìm một kết quả, tất cả kết quả hay kết quả tốt nhất trước khi đặt cách dừng. Ví dụ dùng dữ liệu điểm giả định, không phải hồ sơ học sinh thật. Bốn dãy names,B,C,D có cùng độ dài; mỗi chỉ số ứng với cùng một hàng: | Mẫu | Toán B | Vật lí C | Hoá học D | |---|---|---|---| | A | 8,0 | 8,3 | 7,6 | | B | 8,5 | 8,1 | 8,7 | | C | 8,8 | 9,0 | 8,5 | | D | 9,0 | 9,1 | 9,0 | | E | 9,2 | 8,9 | 9,4 | | F | 9,7 | 9,3 | 9,2 | Tên được ghi “Mẫu A”,… trong mã. Nếu đổi thứ tự dữ liệu, phải giữ tên cùng các điểm của hàng ấy; không sắp xếp riêng từng môn rồi ghép lại theo chỉ số.

Tìm một có thể dừng khi đã thấy

```python def first_math_above_physics(names, B, C, D): for i in range(len(names)): if B[i] > C[i]: return names[i] return None ``` Mẫu A không thỏa vì 8,0<8,3; Mẫu B thỏa8,5>8,1 nên hàm trả “Mẫu B” ngay ở lượt thứ hai. Nếu hết danh sách chưa thấy thì trả None. Thông tin “một mẫu thỏa” đã đủ; chưa cần tìm hết các mẫu khác.

Tìm tất cả phải giữ các kết quả còn lại

```python def all_physics_above_chemistry(names, B, C, D): result = [] for i in range(len(names)): if C[i] > D[i]: result.append(names[i]) return result ``` Kết quả theo thứ tự bảng là Mẫu A,C,D,F. Hàm tiếp tục sau khi thấy Mẫu A để không bỏ các mẫu phía sau. Dãy rỗng hoặc không có kết quả trả []. Chạy chế độ bang-diem trong tệp tải để đối chiếu cả hai yêu cầu.

Bài luyện

Tìm một mẫu có Toán > Vật lí bằng cách duyệt từ đầu bảng sẽ dừng ở đâu?
Chọn một đáp án

Bài luyện

Tìm tất cả mẫu có Vật lí > Hoá học mà dừng sau Mẫu A sẽ bị gì?
Chọn một đáp án

Bài luyện

Vì sao không sắp xếp riêng từng dãy điểm rồi dùng cùng chỉ số để lấy tên?
Chọn một đáp án

Đang học