Câu hỏi:
23/07/2024 202
Tìm kiếm nhị phân và tìm kiếm tuần tự thì thuật toán nào nhanh hơn?
Tìm kiếm nhị phân và tìm kiếm tuần tự thì thuật toán nào nhanh hơn?
A. Tìm kiếm nhị phân
B. Tìm kiếm tuần tự
C. Cả 2 thuật toán đều nhanh như nhau.
D. Không thuật toán nào nhanh.
Trả lời:
Đáp án đúng là: A
Tìm kiếm nhị phân nhanh hơn thuật toán tìm kiếm tuần tự vì sau mỗi bước lặp thì phạm vi tìm kiếm thu hẹp 1 nửa so với bước trước.
Đáp án đúng là: A
Tìm kiếm nhị phân nhanh hơn thuật toán tìm kiếm tuần tự vì sau mỗi bước lặp thì phạm vi tìm kiếm thu hẹp 1 nửa so với bước trước.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Phát biểu đúng nhất về “Thuật toán tìm kiếm nhị phân” (tìm x trong dãy số đã được sắp thứ tự không giảm)?
Phát biểu đúng nhất về “Thuật toán tìm kiếm nhị phân” (tìm x trong dãy số đã được sắp thứ tự không giảm)?
Câu 2:
Ý nghĩa của việc chia một bài toán thành những bài toán nhỏ hơn?
Ý nghĩa của việc chia một bài toán thành những bài toán nhỏ hơn?
Câu 4:
Lấy phần tử đứng giữa dãy để so sánh với x, nếu phần tử đó chính là x thì kết luận gì?
Lấy phần tử đứng giữa dãy để so sánh với x, nếu phần tử đó chính là x thì kết luận gì?
Câu 7:
Cho dãy số 5, 11, 18, 39, 41, 52, 63, 70. Hãy sắp xếp diễn biến từng bước kìm kiếm nhị phần để tìm kiếm x=60 trong dãy trên.
Tìm x = 60:
A1
A2
A3
A4
A5
A6
A7
A8
Xuất phát
5
11
18
39
41
52
63
70
Bước 1
39
41
52
63
70
Bước 2
52
63
70
Bước 3
63
1. Kết thúc thuật toán: Không tìm thấy x có trong dãy.
2. Phạm vi tìm kiếm từ A7 đến A8. Lấy A7 có vị trị giữa dãy. Vì x<A7 nên nửa sau chắc chắn không chứa x.
3. Phạm vi tìm kiếm từ dãy A5 đến A8. Lấy A6 có vị trí giữa dãy. Vì x>A6 nên nửa đầu dãy chắc chắn không chứa x = 60. Tiếp theo chỉ cần tìm trong nửa sau của dãy. Phạm vi tìm kiếm từ A7 đến A8.
4. Phạm vi tìm kiếm từ dãy A1 đến A8. Lấy A4 là số có vị trí giữa dãy. Vì x >A4 nên nửa đầu dãy chắc chắn không chứa x = 60. Tiếp theo chỉ cần tìm trong nửa sau của dãy. Phạm vi tìm kiếm từ A5 đến A8.
Cho dãy số 5, 11, 18, 39, 41, 52, 63, 70. Hãy sắp xếp diễn biến từng bước kìm kiếm nhị phần để tìm kiếm x=60 trong dãy trên.
Tìm x = 60:
|
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
Xuất phát |
5 |
11 |
18 |
39 |
41 |
52 |
63 |
70 |
Bước 1 |
|
|
|
39 |
41 |
52 |
63 |
70 |
Bước 2 |
|
|
|
|
|
52 |
63 |
70 |
Bước 3 |
|
|
|
|
|
|
63 |
|
1. Kết thúc thuật toán: Không tìm thấy x có trong dãy.
2. Phạm vi tìm kiếm từ A7 đến A8. Lấy A7 có vị trị giữa dãy. Vì x<A7 nên nửa sau chắc chắn không chứa x.
3. Phạm vi tìm kiếm từ dãy A5 đến A8. Lấy A6 có vị trí giữa dãy. Vì x>A6 nên nửa đầu dãy chắc chắn không chứa x = 60. Tiếp theo chỉ cần tìm trong nửa sau của dãy. Phạm vi tìm kiếm từ A7 đến A8.
4. Phạm vi tìm kiếm từ dãy A1 đến A8. Lấy A4 là số có vị trí giữa dãy. Vì x >A4 nên nửa đầu dãy chắc chắn không chứa x = 60. Tiếp theo chỉ cần tìm trong nửa sau của dãy. Phạm vi tìm kiếm từ A5 đến A8.
Câu 8:
Thuật toán tìm kiếm x trong dãy đã sắp xếp thứ tự với ý tưởng chia đôi dần để giảm nhanh phạm vi tìm kiếm được gọi là gì?
Thuật toán tìm kiếm x trong dãy đã sắp xếp thứ tự với ý tưởng chia đôi dần để giảm nhanh phạm vi tìm kiếm được gọi là gì?