Quảng cáo
2 câu trả lời 62
Dưới đây là một ví dụ về cách viết thuật toán tìm kiếm nhị phân bằng ngôn ngữ lập trình Python:
```python
def binary_search(arr, target):
left = 0
right = len(arr) - 1
while left <= right:
mid = (left + right) // 2
mid_val = arr[mid]
if mid_val == target:
return mid # Trả về vị trí của target nếu tìm thấy
elif mid_val < target:
left = mid + 1 # Tìm kiếm phần bên phải của mảng
else:
right = mid - 1 # Tìm kiếm phần bên trái của mảng
return -1 # Trả về -1 nếu không tìm thấy target trong mảng
# Danh sách ban đầu đã được sắp xếp theo thứ tự từ điển
arr = ["Bình", "Đoàn", "Hạnh", "Hoà", "Khanh", "Khiêm", "Lan", "Mai", "Minh", "Phúc"]
target = "Phúc"
result = binary_search(arr, target)
if result != -1:
print(f"Bạn {target} được tìm thấy tại vị trí {result}.")
else:
print(f"Bạn {target} không có trong danh sách.")
```
Kết quả của chương trình sẽ là:
```
Bạn Phúc được tìm thấy tại vị trí 9.
```
Trong ví dụ này, chúng ta sử dụng một hàm `binary_search` để thực hiện tìm kiếm nhị phân trên một danh sách đã được sắp xếp. Đầu vào của hàm này là danh sách (`arr`) và mục tiêu cần tìm (`target`). Nếu mục tiêu được tìm thấy, hàm sẽ trả về vị trí của mục tiêu trong danh sách. Nếu không, hàm sẽ trả về -1 để chỉ ra rằng mục tiêu không có trong danh sách.
Quảng cáo
Câu hỏi hot cùng chủ đề
-
2 32067
-
Hỏi từ APP VIETJACK3 24455