Câu hỏi 2. Cho A là danh sách tên các học sinh trong lớp được sắp xếp theo thứ tự bảng chữ cái,...

Câu hỏi:

Câu hỏi 2. Cho A là danh sách tên các học sinh trong lớp được sắp xếp theo thứ tự bảng chữ cái, viết thương trình tìm kiếm nhị phân để tìm ra các học sinh có tên là Minh.

Câu trả lời:
Người trả lời: GV. Đỗ Đăng Hạnh
Để giải câu hỏi trên, ta sử dụng phương pháp tìm kiếm nhị phân trên danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái.

Bước 1: Khởi tạo biến low = 0 và high = len(names) - 1.
Bước 2: Duyệt mảng với vòng lặp while so sánh mid_name với target.
- Nếu mid_name == target: return vị trí mid.
- Nếu mid_name < target: cập nhật low = mid + 1.
- Nếu mid_name > target: cập nhật high = mid - 1.

Sau khi tìm kiếm xong, trả về vị trí của tên học sinh cần tìm hoặc trả về -1 nếu không tìm thấy.

Với đoạn code trên, khi thực hiện tìm kiếm tên học sinh "Minh" trên danh sách class_names, ta sẽ thu được kết quả là "Học sinh có tên là Minh được tìm thấy tại vị trí 5". Điều này nghĩa là học sinh tên Minh xuất hiện ở vị trí thứ 6 trong danh sách đã cho.
Câu hỏi liên quan:
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.17448 sec| 2193.484 kb