Vận dụng 2 trang 93 SGK Tin học 11 Kết nối tri thức
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 chương trình tìm kiếm nhị phân để tìm ra các học sinh có tên là Minh?
Hướng dẫn giải chi tiết Vận dụng 2
def binary_search(names, target):
low = 0
high = len(names) - 1
while low <= high:
mid = (low + high) // 2
mid_name = names[mid]
if mid_name == target:
return mid
elif mid_name < target:
low = mid + 1
else:
high = mid - 1
return -1
# Danh sách tên học sinh trong lớp (đã được sắp xếp theo thứ tự bảng chữ cái)
class_names = ["An", "Bình", "Cường", "Đạt", "Hoàn", "Minh", "Nam", "Thảo", "Trung"]
# Tên học sinh cần tìm
target_name = "Minh"
# Gọi hàm tìm kiếm nhị phân
result = binary_search(class_names, target_name)
if result != -1:
print("Học sinh có tên là", target_name, "được tìm thấy tại vị trí", result)
else:
print("Học sinh có tên là", target_name, "không tồn tại trong danh sách.")
-- Mod Tin Học 11 HỌC247
Chưa có câu hỏi nào. Em hãy trở thành người đầu tiên đặt câu hỏi.