Bài tập  /  Bài đang cần trả lời

Tin học - Lớp 7
01/05 23:26:27
Giải bài có thưởng!

Em hãy vận dụng thuật toán tìm kiếm nhị phân để tìm ra vị trí số 10 trong danh sách [2; 6; 8; 4; 10; 12]

Em hãy vận dụng thuật toán tìm kiếm nhị phân để tìm ra vị trí số 10 trong danh sách [2,6,8,4,10,12] (Em hãy sử dụng ngôn ngữ tự nhiên và sơ đồ khối để mô tả)
0 trả lời
Hỏi chi tiết
Trợ lý ảo
53
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để tìm vị trí số 10 trong danh sách [2,6,8,4,10,12] bằng thuật toán tìm kiếm nhị phân, ta cần thực hiện các bước sau:

1. Sắp xếp danh sách theo thứ tự tăng dần: [2,4,6,8,10,12]
2. Đặt hai biến low = 0 và high = độ dài danh sách - 1 (ở đây là 5)
3. Tạo một biến mid = (low + high) / 2
4. So sánh phần tử ở vị trí mid với số cần tìm (10):
- Nếu phần tử ở vị trí mid bằng số cần tìm, trả về vị trí mid
- Nếu phần tử ở vị trí mid lớn hơn số cần tìm, gán high = mid - 1
- Nếu phần tử ở vị trí mid nhỏ hơn số cần tìm, gán low = mid + 1
5. Lặp lại bước 3 và 4 cho đến khi low > high hoặc tìm thấy số cần tìm

Sơ đồ khối:
```
Bắt đầu
|
Sắp xếp danh sách
|
low = 0, high = 5
|
mid = (low + high) / 2
|
Nếu danh sách[mid] = 10
| |
| Trả về vị trí mid
|
Nếu danh sách[mid] > 10
| |
| high = mid - 1
|
Nếu danh sách[mid] < 10
| |
| low = mid + 1
|
Lặp lại từ bước 3
|
Kết thúc
```

Áp dụng thuật toán trên, ta sẽ tìm được vị trí số 10 trong danh sách là 4.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng bạn bè học sinh cả nước, đến LAZI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo