Vận dụngCâu hỏi 1. Thiết lập chương trình cho công việc thường làm vào cuối giờ bán hàng: Cho trước...

Câu hỏi:

Vận dụng

Câu hỏi 1. Thiết lập chương trình cho công việc thường làm vào cuối giờ bán hàng: Cho trước số K (một doanh số giả định), cần tìm ra mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất. Bài toán này có thể sử dụng thuật toán tìm kiếm nào để giải?

Câu trả lời:
Người trả lời: GV. Đỗ Đăng Long
Để giải bài toán trên, chúng ta sử dụng thuật toán tìm kiếm nhị phân. Bước đầu tiên là sắp xếp danh sách mặt hàng theo thứ tự tăng dần của doanh số. Sau đó, chúng ta thiết lập hai biến low và high để làm biên của phần tử cần tìm trong danh sách. Tiếp theo, chúng ta thực hiện việc tìm kiếm nhị phân thông qua việc so sánh giá trị trung bình mid với giá trị K. Nếu giá trị tại vị trí mid nhỏ hơn K thì ta cập nhật low = mid + 1 để tìm phần tử lớn hơn K, ngược lại nếu lớn hơn K thì ta cập nhật high = mid - 1 để tìm phần tử nhỏ hơn K. Nếu giá trị tại vị trí mid bằng K thì ta trả về kết quả mid. Cuối cùng, chúng ta cập nhật giá trị gần nhất với K và trả về mặt hàng đó.

Ví dụ minh họa:
arr = [10, 20, 30, 40, 50, 60, 70, 80, 90]
K = 45
nearest_item = find_nearest_item(arr, K)
print("Mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất là:", nearest_item)
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.04037 sec| 2257.172 kb