Bài học cùng chủ đề
Báo cáo học liệu
Mua học liệu
Mua học liệu:
-
Số dư ví của bạn: 0 coin - 0 Xu
-
Nếu mua học liệu này bạn sẽ bị trừ: 2 coin\Xu
Để nhận Coin\Xu, bạn có thể:
Lý thuyết bài học SVIP
1. Chia đôi dần để tìm kiếm một số trong dãy số đã sắp thứ tự
- Ý tưởng: chia đôi dần để tìm một số trong một dãy số.
Ví dụ 1: Tìm x = 44 trong dãy 8 phần tử đã sắp xếp thứ tự không giảm.
- Minh họa các bước:
- Mô phỏng thuật toán tìm kiếm nhị phân:
Lượt thứ nhất: agiữa là a4 = 42; 42 < 44 = x
➩ vùng tìm kiếm thu hẹp trong phạm vi từ a5 → a8
Lượt thứ hai: agiữa là a6 = 55; 55 > 44
➩ vùng tìm kiếm thu hẹp trong phạm vi là a5
Lượt thứ ba: agiữa là a5 = 44; 44 = 44 = x
➩ Vậy số cần tìm là i = 5.
Ví dụ 2: Tìm x = 21 trong dãy 10 phần tử đã sắp xếp thứ tự không giảm.
- Mô phỏng thuật toán tìm kiếm nhị phân:
Lượt thứ nhất: agiữa là a5 = 9; 9 < 21
➩ vùng tìm kiếm thu hẹp trong phạm vi từ a6 → a10
Lượt thứ hai: agiữa là a8 = 30; 30 > 21
➩ vùng tìm kiếm thu hẹp trong phạm vi từ a6 → a7
Lượt thứ ba: agiữa là a6 = 21; 21= 21
➩ Vậy số cần tìm là i = 6.
2. Thuật toán tìm kiếm nhị phân
- Thuật toán tìm kiếm nhị phân là thuật toán tìm kiếm x trong dãy đã sắp thứ tự với ý tưởng chia đôi dần để giảm nhanh phạm vi tìm kiếm.
- Mô tả thuật toán:
3. Phương pháp “chia để trị” với bài toán tìm kiếm
- Để giải một bài toán lớn, người ta tìm cách chia bài toán ban đầu ra thành các bài toán nhỏ hơn rồi giải những bài toán nhỏ hơn sẽ dễ hơn. Cách làm này gọi là “chia để trị”.
- Thuật toán tìm kiếm nhị phân chia bài toán ban đầu thành hai bài toán con nhỏ hơn và chỉ phải tiếp tục giải một trong hai bài toán con đó. Áp dụng liên tiếp cách này cho đến khi nhận được kết quả.
Bạn có thể đánh giá bài học này ở đây