Lý thuyết Tin học 11 Bài 19 (Kết nối tri thức): Bài toán tìm kiếm
Tóm tắt lý thuyết Tin học lớp 11 Bài 19: Bài toán tìm kiếm hay, chi tiết sách Kết nối tri thức sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.
Lý thuyết Tin học 11 Bài 19: Bài toán tìm kiếm
A. Lý thuyết Bài toán tìm kiếm
1. Bài toán tìm kiếm trên thực tế
- Bài toán 1: Miền dữ liệu là tất cả ảnh trên mạng Internet, kết quả là các ảnh hoa hồng.
- Bài toán 2: Miền dữ liệu là các tệp văn bản trên đĩa cứng, kết quả là tệp bai-hoc-1.docx.
- Bài toán 3: Miền dữ liệu là danh sách học sinh và điểm thi, kết quả là danh sách 5 bạn có điểm trung bình cao nhất.
- Cách An lật thẻ từ đầu đến cuối là tìm kiếm tuần tự trong dãy đối tượng.
- Bài toán tìm kiếm trên một dãy số: cho dãy A[0], A[1],..., A[n-1] và giá trị K, cần tìm chỉ số i mà A[i] = K, trả về -1 nếu không tìm thấy.
- Tìm kiếm nhị phân: tìm kiếm với dãy số đã được sắp xếp.
- Duyệt phần tử bất kì, xác định phần tử cần tìm ở bên trái hay bên phải.
- Quyết định tìm tiếp theo hướng nào mà không cần duyệt tất cả các phần tử của dãy số.
b. Thuật toán tìm kiếm nhị phân
- Thuật toán tìm kiếm nhị phân thu hẹp phạm vi tìm kiếm liên tục.
- Nếu giá trị của phần tử ở giữa bằng K thì thông báo tìm thấy.
- Nếu K nhỏ hơn giá trị ở giữa, thu hẹp phạm vi tìm kiếm nửa đầu dãy tăng A (ngược lại thì phạm vi tìm kiếm nửa sau).
- Thiết lập left, right là chỉ số phần tử đầu và cuối của dãy cần tìm. Cần tìm K trong A[left..right].
- So sánh K với phần tử giữa dãy A[mid], có 3 trường hợp có thể xảy ra:
+ Nếu K = A[mid] thì trả về chỉ số mid và kết thúc.
+ Nếu K < A[mid] thì phần tử cần tìm ở dãy con bên trái của A[mid], cập nhật right = mid - 1, giữ nguyên left.
+ Nếu K > A[mid] thì phần tử cần tìm ở dãy con bên phải của A[mid], cập nhật left = mid + 1, giữ nguyên right.
- Lặp lại cho đến khi tìm thấy hoặc phạm vi tìm kiếm bằng rỗng (right < left).
c. Minh hoạ các bước của thuật toán tìm kiếm nhị phân
- Tìm kiếm nhị phân nhanh hơn tìm kiếm tuần tự vì số phần tử cần duyệt giảm một nửa sau mỗi vòng lặp.
- Với cùng dãy số A và giá trị tìm kiếm K, thuật toán tìm kiếm tuần tự cần 6 bước, nhưng thuật toán tìm kiếm nhị phân chỉ cần 2 bước.
- Thuật toán tìm kiếm nhị phân trên dãy số đã sắp xếp tăng dần, hàm BinarySearch(A,K) trả lại chỉ số i nếu tìm thấy A[i] = K và -1 nếu không tìm thấy K trong dãy A.
Sơ đồ tư duy Bài toán tìm kiếm

B. Bài tập Bài toán tìm kiếm
Câu 1: Đâu là phát biểu đúng khi nói đến thuật toán tìm kiếm tuần tự?
A. Thực hiện tìm lần lượt từ đầu đến cuối danh sách.
B. Khi chưa tìm thấy và chưa tìm hết thì còn tìm tiếp.
C. Cả A, B đúng.
D. Cả A, B sai.
Câu 2: Thuật toán tìm kiếm tuần tự thực hiện công việc gì?
A. Lưu trữ dữ liệu.
B. Sắp xếp dữ liệu theo chiều tăng dần.
C. Xử lí dữ liệu.
D. Tìm kiếm dữ liệu cho trước trong một danh sách đã cho.
Câu 3: Thuật toán tìm kiếm tuần tự yêu cầu danh sách cần tìm phải được sắp xếp.
A. Đúng.
B. Sai.
Câu 4: Thuật toán tìm kiếm tuần tự thực hiện công việc như thế nào?
A. Sắp xếp lại dữ liệu theo thứ tự bảng chữ cái.
B. Xem xét mục dữ liệu đầu tiên, sau đó xem xét từng mục dữ liệu tiếp theo cho đến khi tìm thấy mục dữ liệu được yêu cầu hoặc đến khi hết danh sách.
C. Cho nhỏ dữ liệu thành từng phần để tìm kiếm.
D. Bất đầu tìm từ vị trí bất kì trong danh sách.
Câu 5: Trong tìm kiếm tuần tự thì có mấy điều kiện cần kiểm tra để dừng vòng lặp?
A. 1
B. 2
C. 3
D. Không
Câu 6: Thực hiện thuật toán tìm kiếm tuần tự để tìm số 10 trong danh sách [2, 6, 8, 4, 10, 12]. Đâu ra của thuật toán là?
A. Thông báo “Không tìm thấy”.
B. Thông báo “Tìm thấy”.
C. Thông báo “Tìm thấy”, giá trị cần tìm tại vị trí thứ 5 của danh sách.
D. Thông báo “Tìm thấy”, giá trị cần tìm tại vị trí thứ 6 của danh sách.
Câu 7: Cho sơ đồ khối dùng để mô tả thuật toán tìm kiếm tuần tự tên sách như hình bên dưới:
Thông tin đầu vào tại vị trí X (phía dưới bắt đầu) là?
A. Tên sách cần tìm
B. Danh sách tên sách
C. Danh sách họ tên học sinh
D. Đáp án khác
Câu 8: Cho sơ đồ khối như sau, đầu ra của thuật toán dưới là gì?
A. Số lượng tên học sinh.
B. Tên học sinh bị trùng.
C. Có tìm thấy tên học sinh cần tìm không.
D. Danh sách tên học sinh.
Câu 9: Chọn câu diễn đạt đúng hoạt động của thuật toán tìm kiếm tuần tự.
A. Tìm trên danh sách đã sắp xếp, bắt đầu từ đầu danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
B. Tìm trên danh sách đã sắp xếp, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
C. Tìm trên danh sách bắt kì, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
D. Tìm trên danh sách bất kì, bắt đầu từ đầu danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.
Câu 10: Cho sơ đồ khối như sau mô tả thuật toán?
A. Thuật toán tìm kiếm tên khác hàng
B. Thuật toán tìm kiếm địa chỉ khách hàng
C. Thuật toán tìm kiếm tên học sinh
D. Thuật toán tìm kiếm địa chỉ học sinh
Trắc nghiệm Tin học 11 Bài 19: Bài toán tìm kiếm
Câu 1: Bài toán tìm kiếm tuần tự thực hiện bao nhiêu lần duyệt để tìm ra phần tử có giá trị bằng 47 trong dãy A = [1, 91, 45, 23, 67, 9, 10, 47, 90, 46, 86]?
A. 4
B. 6
C. 8
D. 7
Đáp án: D
Giải thích: Thuật toán tìm kiếm tuần tự duyệt từ đầu đến cuối dãy số. Để tìm phần tử 47 ở vị trí thứ 7, cần duyệt 7 phần tử.
Câu 2: Trong tìm kiếm tuần tự, khi nào ta có thể tìm thấy kết quả ngay với ít bước nhất?
A. Khi phần tử cần tìm ở giữa danh sách
B. Khi phần tử cần tìm ở cuối danh sách
C. Khi phần tử cần tìm không có trong danh sách
D. Khi phần tử cần tìm là phần tử đầu tiên
Đáp án: D
Giải thích: Nếu phần tử cần tìm là phần tử đầu tiên của danh sách, kết quả sẽ được tìm thấy ngay sau bước đầu tiên
Câu 3: Trong tìm kiếm tuần tự, khi nào cần nhiều bước nhất để tìm ra kết quả?
A. Khi phần tử cần tìm ở giữa danh sách
B. Khi phần tử cần tìm là phần tử cuối cùng
C. Khi phần tử cần tìm không có trong danh sách
D. Khi phần tử cần tìm là phần tử đầu tiên
Đáp án: B
Giải thích: Khi phần tử cần tìm là phần tử cuối cùng, thuật toán phải duyệt qua toàn bộ danh sách trước khi tìm thấy nó.
Câu 4: Thuật toán tìm kiếm nhị phân chỉ có thể áp dụng khi danh sách dữ liệu đã được sắp xếp như thế nào?
A. Tăng dần
B. Giảm dần
C. Không cần sắp xếp
D. Sắp xếp theo bất kỳ thứ tự nào
Đáp án: A
Giải thích: Thuật toán tìm kiếm nhị phân yêu cầu danh sách phải được sắp xếp theo thứ tự tăng dần để chia đôi dữ liệu và thu hẹp phạm vi tìm kiếm.
Câu 5: Với thuật toán tìm kiếm nhị phân, cần bao nhiêu lần duyệt để tìm phần tử có giá trị bằng 34 trong dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]?
A. 2
B. 3
C. 4
D. 5
Đáp án: C
Giải thích: Thuật toán tìm kiếm nhị phân sẽ duyệt qua 4 bước để tìm ra phần tử 34 bằng cách chia đôi phạm vi tìm kiếm.
Câu 6: Với thuật toán tìm kiếm tuần tự, cần duyệt bao nhiêu phần tử để tìm ra phần tử có giá trị bằng 34 trong dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]?
A. 6
B. 10
C. 12
D. 11
Đáp án: D
Giải thích: Tìm kiếm tuần tự sẽ phải duyệt qua 11 phần tử để tìm thấy phần tử có giá trị bằng 34.
Câu 7: Thuật toán tìm kiếm nhị phân có ưu điểm gì so với tìm kiếm tuần tự?
A. Đơn giản hơn trong lập trình
B. Có thể áp dụng cho mọi danh sách
C. Tốc độ nhanh hơn khi danh sách đã sắp xếp
D. Không cần phải sắp xếp danh sách trước khi tìm
Đáp án: C
Giải thích: Tìm kiếm nhị phân nhanh hơn tìm kiếm tuần tự khi danh sách đã được sắp xếp vì phạm vi tìm kiếm được thu hẹp mỗi lần chia đôi.
Câu 8: Cho dãy A = [1, 3, 4, 7, 8, 9, 10]. Cần tìm giá trị K = 9 bằng thuật toán tìm kiếm nhị phân, chỉ số nào sẽ được trả về?
A. 3
B. 4
C. 5
D. 6
Đáp án: C
Giải thích: Sau khi thu hẹp phạm vi tìm kiếm, giá trị 9 được tìm thấy ở vị trí thứ 5.
Câu 9: Thuật toán tìm kiếm tuần tự có thể áp dụng trong trường hợp nào?
A. Dữ liệu đã được sắp xếp
B. Dữ liệu chưa được sắp xếp
C. Chỉ cho các dãy số
D. Chỉ cho các dãy chữ cái
Đáp án: B
Giải thích: Tìm kiếm tuần tự có thể áp dụng cho cả dữ liệu đã sắp xếp và chưa sắp xếp.
Câu 10: Nếu dãy số đã được sắp xếp giảm dần, thuật toán tìm kiếm nhị phân sẽ hoạt động như thế nào?
A. Thuật toán vẫn hoạt động bình thường
B. Phải thay đổi thuật toán để so sánh ngược lại
C. Không thể áp dụng tìm kiếm nhị phân
D. Chỉ áp dụng cho dãy số ngắn
Đáp án: B
Giải thích: Đối với dãy giảm dần, thuật toán phải được thay đổi để so sánh ngược lại và thu hẹp phạm vi tìm kiếm từ phải sang trái.
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
Câu 1: Miền dữ liệu của bài toán tìm kiếm hình ảnh hoa hồng trên Internet là gì?
a) Tất cả các tệp văn bản có trên máy tính.
b) Tất cả các hình ảnh có trên các máy tính kết nối Internet.
c) Tất cả các bài viết về cách trồng hoa.
d) Tất cả các danh sách học sinh trong lớp.
a) Sai. Miền dữ liệu không phải là tệp văn bản mà là hình ảnh.
b) Đúng. Miền dữ liệu chính là tất cả hình ảnh có sẵn trên Internet, vì bài toán yêu cầu tìm hình ảnh hoa hồng.
c) Sai. Miền dữ liệu không phải là bài viết mà là hình ảnh.
d) Sai. Miền dữ liệu không liên quan đến danh sách học sinh.
Câu 2: Trong bài toán tìm kiếm tuần tự, khi nào thuật toán tìm kiếm có thể tìm thấy ngay kết quả cần tìm?
a) Khi phần tử cần tìm nằm ở vị trí đầu tiên của dãy số.
b) Khi phần tử cần tìm nằm ở vị trí giữa của dãy số.
c) Khi dãy số có số lượng phần tử lớn hơn 10.
d) Khi phần tử cần tìm nằm ở vị trí cuối cùng của dãy số
a) Đúng. Nếu phần tử cần tìm nằm ở đầu dãy, thuật toán sẽ tìm thấy ngay ở lần duyệt đầu tiên.
b) Sai. Mặc dù phần tử ở vị trí giữa có thể được tìm thấy sớm nhưng không phải là lần duyệt đầu tiên.
c) Sai. Số lượng phần tử không ảnh hưởng đến việc tìm thấy ngay lập tức.
d) Sai. Nếu phần tử cần tìm nằm ở cuối, thuật toán sẽ cần duyệt qua tất cả các phần tử trước đó.
PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3
Câu 1: Bài toán tìm kiếm hình ảnh hoa hồng trên Internet có miền dữ liệu nào?
Đáp án: Miền dữ liệu là tất cả các hình ảnh có trên các máy tính kết nối mạng Internet.
Giải thích: Trong bài toán này, mục tiêu là tìm kiếm các hình ảnh cụ thể. Miền dữ liệu rộng lớn vì Internet có hàng triệu hình ảnh, và thuật toán tìm kiếm cần phải xử lý nhiều thông tin để tìm ra những hình ảnh liên quan đến hoa hồng.
Câu 2: Khi nào thuật toán tìm kiếm tuần tự sẽ tìm được kết quả nhanh nhất?
Đáp án: Tìm kiếm tuần tự sẽ tìm được kết quả nhanh nhất khi phần tử cần tìm là phần tử đầu tiên trong dãy.
Giải thích: Trong trường hợp này, thuật toán chỉ cần một lần duyệt để tìm ra phần tử, dẫn đến số bước thực hiện là tối thiểu. Nếu phần tử cần tìm nằm ở đầu dãy, không cần duyệt qua các phần tử khác.
Câu 3: So sánh số bước giữa tìm kiếm tuần tự và tìm kiếm nhị phân với cùng một dãy số. Khi nào thuật toán nào sẽ hiệu quả hơn?
Đáp án: Tìm kiếm nhị phân sẽ hiệu quả hơn khi dãy số đã được sắp xếp
Giải thích: Thuật toán tìm kiếm nhị phân thu hẹp phạm vi tìm kiếm mỗi lần kiểm tra phần tử giữa, dẫn đến số bước cần thiết giảm một nửa sau mỗi lần lặp. Trong khi đó, tìm kiếm tuần tự phải duyệt qua tất cả các phần tử cho đến khi tìm thấy, có thể dẫn đến số bước lớn hơn đáng kể, đặc biệt trong dãy số dài.
Xem thêm các bài lý thuyết Tin học 11 sách Kết nối tri thức hay, chi tiết tại:
Lý thuyết Bài 21: Các thuật toán sắp xếp đơn giản
Lý thuyết Bài 23: Kiểm thử và đánh giá chương trình
Lý thuyết Bài 24: Đánh giá độ phức tạp thời gian thuật toán
Lý thuyết Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình
Lý thuyết Bài 28: Thiết kế chương trình theo Mô đun
Xem thêm tài liệu Tin học lớp 11:
Xem thêm các chương trình khác:
- Soạn văn lớp 11 Kết nối tri thức - hay nhất
- Văn mẫu lớp 11 - Kết nối tri thức
- Tóm tắt tác phẩm Ngữ văn 11 – Kết nối tri thức
- Tác giả tác phẩm Ngữ văn 11 - Kết nối tri thức
- Giải SBT Ngữ văn 11 – Kết nối tri thức
- Bố cục tác phẩm Ngữ văn 11 – Kết nối tri thức
- Giải Chuyên đề học tập Ngữ văn 11 – Kết nối tri thức
- Nội dung chính tác phẩm Ngữ văn lớp 11 – Kết nối tri thức
- Soạn văn 11 Kết nối tri thức (ngắn nhất)
- 100+ đề Đọc hiểu Ngữ Văn 11 (có đáp án)
- Giải sgk Toán 11 – Kết nối tri thức
- Giải Chuyên đề học tập Toán 11 – Kết nối tri thức
- Lý thuyết Toán 11 - Kết nối tri thức
- Giải sbt Toán 11 – Kết nối tri thức
- Bài tập Tiếng Anh 11 Global success theo Unit có đáp án
- Giải sgk Tiếng Anh 11 – Global success
- Giải sbt Tiếng Anh 11 - Global Success
- Trọn bộ Từ vựng Tiếng Anh 11 Global success đầy đủ nhất
- Ngữ pháp Tiếng Anh 11 Global success
- Giải sgk Vật lí 11 – Kết nối tri thức
- Lý thuyết Vật lí 11 – Kết nối tri thức
- Giải sbt Vật lí 11 – Kết nối tri thức
- Giải Chuyên đề học tập Vật lí 11 – Kết nối tri thức
- Chuyên đề dạy thêm Vật lí 11 cả 3 sách (2026 có đáp án)
- Giải sgk Hóa học 11 – Kết nối tri thức
- Giải Chuyên đề học tập Hóa học 11 – Kết nối tri thức
- Lý thuyết Hóa 11 - Kết nối tri thức
- Giải sbt Hóa học 11 – Kết nối tri thức
- Chuyên đề dạy thêm Hóa 11 cả 3 sách (2026 có đáp án)
- Giải sgk Sinh học 11 – Kết nối tri thức
- Lý thuyết Sinh học 11 – Kết nối tri thức
- Giải Chuyên đề học tập Sinh học 11 – Kết nối tri thức
- Giải sbt Sinh học 11 – Kết nối tri thức
- Giải sgk Giáo dục Kinh tế và Pháp luật 11 – Kết nối tri thức
- Giải Chuyên đề học tập Kinh tế pháp luật 11 – Kết nối tri thức
- Lý thuyết Kinh tế pháp luật 11 – Kết nối tri thức
- Giải sbt Kinh tế pháp luật 11 – Kết nối tri thức
- Giải sgk Lịch sử 11 – Kết nối tri thức
- Giải Chuyên đề học tập Lịch sử 11 – Kết nối tri thức
- Lý thuyết Lịch sử 11 - Kết nối tri thức
- Giải sbt Lịch sử 11 – Kết nối tri thức
- Giải sgk Địa lí 11 – Kết nối tri thức
- Giải Chuyên đề học tập Địa lí 11 – Kết nối tri thức
- Lý thuyết Địa lí 11 - Kết nối tri thức
- Giải sbt Địa lí 11 – Kết nối tri thức
- Giải sgk Công nghệ 11 – Kết nối tri thức
- Lý thuyết Công nghệ 11 - Kết nối tri thức
- Giải sbt Công nghệ 11 – Kết nối tri thức
- Giải sgk Giáo dục quốc phòng an ninh 11 – Kết nối tri thức
- Lý thuyết Giáo dục quốc phòng 11 – Kết nối tri thức
- Giải sbt Giáo dục quốc phòng 11 – Kết nối tri thức
- Giải sgk Hoạt động trải nghiệm 11 – Kết nối tri thức
