Hoạt động tìm kiếm tuyến tính là hoạt động tìm kiếm đơn giản nhất. Trong hướng dẫn này, chúng tôi sẽ thực hiện thao tác tìm kiếm tuyến tính để khám phá vị trí chỉ mục của phần tử trong danh sách
Tìm kiếm tuyến tính - Giới thiệu cơ bản
Một phương pháp định vị các phần tử trong danh sách là tìm kiếm tuyến tính. Một tìm kiếm tuần tự là một tên khác cho nó. Bởi vì nó tìm kiếm phần tử được yêu cầu theo cách tuần tự. Nó đánh giá từng yếu tố liên quan đến giá trị mà chúng tôi đang tìm kiếm. Phần tử được phát hiện nếu cả hai khớp và thủ tục trả về vị trí chỉ mục của khóa
Hãy để chúng tôi hiểu sơ bộ về cách thực hiện tìm kiếm tuyến tính
- Bắt đầu tìm kiếm của bạn với phần tử đầu tiên và kiểm tra khóa với từng phần tử trong danh sách
- Nếu một phần tử được phát hiện, vị trí chỉ mục của khóa được trả về
- Nếu phần tử không được phát hiện, giá trị trả về sẽ không xuất hiện
Thuật toán tìm kiếm tuyến tính
Đến đây, chúng ta đã hiểu sơ bộ về phép toán tìm kiếm tuyến tính. Chúng ta hãy xem Thuật toán theo mã để hiểu rõ hơn
- Tạo một hàm linear_search[]
- Khai báo 3 tham số mảng, độ dài mảng, số cần tìm
- Khởi tạo vòng lặp for
- Lặp lại từng phần tử và so sánh giá trị chính
- Nếu phần tử có mặt trả về chỉ số
- Khác trở lại không có mặt
Chương trình tìm kiếm tuyến tính
Như đã thảo luận ở trên về thuật toán, bây giờ chúng ta hãy đi sâu vào phần lập trình của hoạt động tìm kiếm tuyến tính chịu ảnh hưởng của thuật toán
def linear_search[arr, a, b]:
# Going through array
for i in range[0, a]:
if [arr[i] == b]:
return i
return -1
arr = [9, 7, 5, 3, 1]
print["The array given is ", arr]
b = 5
print["Element to be found is ", b]
a = len[arr]
index = linear_search[arr, a, b]
if[index == -1]:
print["Element is not in the list"]
else:
print["Index of the element is: ", index]
Mảng đã cho là [9, 7, 5, 3, 1]
Phần tử cần tìm là 5
Chỉ số của phần tử là. 2
Phần kết luận
Trong hướng dẫn này, chúng tôi đã thực hiện thao tác tìm kiếm tuyến tính trong lập trình python với sự trợ giúp của tìm kiếm tuần tự
Bạn có biết cách tìm kiếm các mục trong danh sách Python và kiểm tra xem nó có hiện diện hay không? . “Tìm kiếm tuyến tính trong Python là gì?” . Vì vậy, hãy bắt đầu
Tìm kiếm trong Python là một kỹ thuật để tìm một phần tử cụ thể có hoặc không có trong danh sách đã cho
Có hai loại kỹ thuật tìm kiếm
- tìm kiếm tuyến tính
- Tìm kiếm nhị phân
Tìm kiếm tuyến tính là loại tìm kiếm cơ bản nhất được thực hiện. Nó còn được gọi là tìm kiếm tuần tự. Trong tìm kiếm này, chúng tôi kiểm tra từng phần tử trong danh sách đã cho cho đến khi tìm thấy kết quả phù hợp
Phương pháp này thường được sử dụng trong cuộc sống hàng ngày của chúng tôi như khi chúng tôi kiểm tra các mặt hàng tạp hóa, chúng tôi làm như vậy theo cách tìm kiếm tuyến tính
Về mặt kỹ thuật trong Python, Phương thức tìm kiếm này so sánh từng phần tử với giá trị cụ thể mà chúng tôi đang tìm kiếm. Nếu cả hai đều khớp, phần tử được tìm thấy và thuật toán trả về vị trí chỉ mục của khóa
- Chương trình tìm kiếm đơn giản
- Vài dòng mã
- Tốt nhất trong trường hợp phần tử tìm kiếm ở vị trí đầu tiên
- Không hiệu quả trong một số trường hợp
- Không thích hợp cho một danh sách dài tôi. e. , một danh sách có hơn 100 phần tử
- Trường hợp xấu nhất, phần tử tìm kiếm ở vị trí cuối cùng
Trước khi viết bất kỳ mã nào của chương trình, chúng ta phải biết thuật toán của nó. Vì vậy, hãy hiểu thuật toán của chương trình này
- Nhập danh sách các số
- Nhập mục cần tìm
- So sánh từng phần tử đó với từng phần tử của danh sách một
- Nếu tìm thấy kết quả khớp thì trả về True
- Nếu không tìm thấy kết quả khớp trong toàn bộ danh sách, hãy trả về Sai
Chương trình tìm kiếm tuyến tính
Bây giờ chúng ta hãy xem chương trình Python để tìm kiếm tuyến tính
#Phương pháp 1. Tìm kiếm tuyến tính Sử dụng phạm vi []
list1 = [16, 2, 7, 5, 12, 54, 21, 9, 64, 12]
print['List has the items: ', list1]
Item = int[input['Enter a number to search for: ']]
found = False
for i in range[len[list1]]:
if list1[i] == Item:
found = True
print[Item, ' was found in the list at index ', i]
break
if found == False:
print[Item, ' was not found in the list!']
Hãy xem đầu ra của mã Python sau đây sẽ là gì?
#Output
List has the items: [16, 2, 7, 5, 12, 54, 21, 9, 64, 12]
Enter a number to search for: 7
7 was found in the list at index 2
#Phương pháp 2. Tìm kiếm tuyến tính sử dụng def[]. [Chương trình tìm kiếm đơn giản và dễ dàng nhất]
def linear[x,y]:
for i in x:
if i ==y:
return True
return False
x=[12, 37, 45, 89, 1, 2, 34, 48, 9]
linear[x,2]
linear[x,9]
linear[x,5]
Hãy xem đầu ra của mã đã cho
#Output
True
True
False
Tham khảo bài viết gốc tại
Tìm kiếm tuyến tính trong Python là gì?
Bạn có biết cách tìm kiếm các mục trong danh sách Python và kiểm tra xem nó có hiện diện hay không?
đám mây punjabi. com
Thêm nội dung bằng tiếng Anh. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Nhận quyền truy cập độc quyền để viết các cơ hội và lời khuyên trong cộng đồng của chúng tôi Discord