Hướng dẫn linear search in python without function - tìm kiếm tuyến tính trong python không có chức năng

Python là một trong những ngôn ngữ phổ biến và mạnh mẽ nhất. Phải mất một vài dòng để thực thi mã, điều này làm cho nó nhiều ngôn ngữ thân thiện với người dùng. Trong hướng dẫn này, chúng tôi sẽ tìm hiểu tìm kiếm tuyến tính trong Python. Tìm kiếm là một kỹ thuật để tìm ra phần tử cụ thể có mặt hoặc không trong danh sách đã cho.

Có hai loại tìm kiếm -

  • Tìm kiếm tuyến tính
  • Tìm kiếm nhị phân

Cả hai kỹ thuật đều được sử dụng rộng rãi để tìm kiếm một yếu tố trong danh sách đã cho.

Tìm kiếm tuyến tính là gì?

Tìm kiếm tuyến tính là một phương pháp tìm các yếu tố trong danh sách. Nó cũng được gọi là một tìm kiếm tuần tự. & nbsp; Đây là thuật toán tìm kiếm đơn giản nhất vì nó tìm kiếm phần tử mong muốn theo cách tuần tự.

Nó so sánh từng yếu tố với giá trị mà chúng tôi đang tìm kiếm. Nếu cả hai đều được 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.

Khái niệm tìm kiếm tuyến tính

Hãy hiểu các bước sau để tìm khóa phần tử = 7 trong danh sách đã cho.

Bước - 1: Bắt đầu tìm kiếm từ phần tử đầu tiên và phím kiểm tra = 7 với mỗi phần tử của danh sách x. Start the search from the first element and Check key = 7 with each element of list x.

Hướng dẫn linear search in python without function - tìm kiếm tuyến tính trong python không có chức năng

Bước - 2: Nếu tìm thấy phần tử, hãy trả về vị trí chỉ mục của khóa. If element is found, return the index position of the key.

Hướng dẫn linear search in python without function - tìm kiếm tuyến tính trong python không có chức năng

Bước - 3: Nếu không tìm thấy phần tử, phần tử trở lại không có mặt. If element is not found, return element is not present.

Hướng dẫn linear search in python without function - tìm kiếm tuyến tính trong python không có chức năng

Thuật toán tìm kiếm tuyến tính

Có danh sách n phần tử và giá trị khóa sẽ được tìm kiếm.

Dưới đây là thuật toán tìm kiếm tuyến tính.

Chương trình Python

Hãy hiểu việc triển khai Python sau đây của thuật toán tìm kiếm tuyến tính.

Chương trình

Output:

Element found at index:  4

Explanation:

Trong mã trên, chúng tôi đã tạo một hàm linear_search (), có ba đối số - list1, độ dài của danh sách và số để tìm kiếm. Chúng tôi đã xác định cho vòng lặp và lặp từng phần tử và so sánh với giá trị khóa. Nếu phần tử được tìm thấy, hãy trả về chỉ số khác trả về -1, có nghĩa là phần tử không có trong danh sách.linear_Search(), which takes three arguments - list1, length of the list, and number to search. We defined for loop and iterate each element and compare to the key value. If element is found, return the index else return -1 which means element is not present in the list.

Độ phức tạp tìm kiếm tuyến tính

Độ phức tạp về thời gian của thuật toán tìm kiếm tuyến tính -

  • Trường hợp cơ sở - O (1)
  • Trường hợp trung bình - O (n)
  • Trường hợp xấu nhất -o (n)

Thuật toán tìm kiếm tuyến tính phù hợp cho danh sách nhỏ hơn (

Để có được kết quả nhanh, chúng ta có thể sử dụng thuật toán tìm kiếm nhị phân.

Chúng tôi đã thảo luận về khái niệm cơ bản của tìm kiếm tuyến tính. Trong hướng dẫn tiếp theo, chúng tôi sẽ tìm hiểu thuật toán tìm kiếm thứ hai và phổ biến nhất có tên là tìm kiếm nhị phân.


Bài viết này được tạo ra để bao gồm một số chương trình trong Python thực hiện tìm kiếm tuyến tính. Tìm kiếm tuyến tính là kỹ thuật rất cơ bản và đơn giản nhất để tìm kiếm một yếu tố. Dưới đây là danh sách các chương trình trên tìm kiếm tuyến tính:

  • Tìm kiếm tuyến tính dựa trên 10 phần tử hoặc số được nhập bởi người dùng
  • Tìm kiếm tuyến tính dựa trên n phần tử được nhập bởi người dùng
  • Tìm kiếm tuyến tính cùng với các yếu tố trùng lặp

Trước khi tiến hành chương trình được đưa ra dưới đây, nếu bạn muốn có một số ý tưởng về thuật toán được sử dụng, thì hãy tham khảo thuật toán tìm kiếm tuyến tính & bài viết ví dụ để có được mọi thứ cần thiết. Bạn cũng có thể tiến hành trực tiếp. Nó sẽ không làm bạn bối rối. Nó rất đơn giản.

Tìm kiếm tuyến tính dựa trên 10 yếu tố

Câu hỏi là, viết một chương trình Python để thực hiện tìm kiếm tuyến tính trên 10 yếu tố. Chương trình được đưa ra dưới đây là câu trả lời cho câu hỏi này:

print("Enter 10 Numbers: ")
arr = []
for i in range(10):
  arr.insert(i, int(input()))
print("Enter the Number to Search: ")
num = int(input())
for i in range(10):
  if num==arr[i]:
    index = i
    break
print("\nNumber Found at Index Number: ")
print(index)

Đây là mẫu chạy mẫu của nó:

Bây giờ cung cấp đầu vào nói 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 là mười số, sau đó là 70 dưới dạng số để tìm kiếm và in số chỉ mục của nó:10, 20, 30, 40, 50, 60, 70, 80, 90, 100 as ten numbers, then 70 as number to search and print its index number:

Hướng dẫn linear search in python without function - tìm kiếm tuyến tính trong python không có chức năng

Tìm kiếm tuyến tính dựa trên n phần tử

Đây là phiên bản sửa đổi của chương trình trước. Chương trình này cho phép người dùng xác định kích thước của danh sách cùng với các yếu tố của nó. Chúng ta hãy xem chương trình và đầu ra mẫu của nó để hiểu rõ về phần này:

print(end="Enter the Size: ")
arrSize = int(input())
print("Enter " +str(arrSize)+ " Elements: ")
arr = []
for i in range(arrSize):
  arr.append(input())
print("Enter an Element to Search: ")
elem = input()
chk = 0
for i in range(arrSize):
  if elem==arr[i]:
    index = i
    chk = 1
    break
if chk==1:
  print("\nElement Found at Index Number: " + str(index))
else:
  print("\nElement doesn't found!")

Dưới đây là mẫu chạy mẫu của nó với đầu vào của người dùng, 5 là kích thước, c, o, d, e, s là năm phần tử, e là yếu tố để tìm kiếm:5 as size, c, o, d, e, s as five elements, e as element to search:

Dưới đây là một mẫu khác chạy với đầu vào của người dùng, 5 là kích thước, 1, 2, 3, 4, 5 là năm phần tử, 10 là yếu tố để tìm kiếm:5 as size, 1, 2, 3, 4, 5 as five elements, 10 as element to search:

Tìm kiếm tuyến tính với các yếu tố trùng lặp

Đây là chương trình cuối cùng của danh sách chương trình tìm kiếm tuyến tính của bài viết này. Chương trình này tìm và in các yếu tố trùng lặp quá. Ví dụ: nếu có sáu phần tử nói 1, 2, 3, 2, 4, 2. và người dùng muốn tìm kiếm phần tử 2 từ danh sách. Kể từ 2 lần trình bày ba lần. Do đó, chương trình này in tất cả ba vị trí của yếu tố.

print(end="Enter the Size: ")
arrSize = int(input())
print("Enter " +str(arrSize)+ " Elements: ")
arr = []
for i in range(arrSize):
  arr.append(input())
print("Enter an Element to Search: ")
elem = input()
k = 0
index = []
for i in range(arrSize):
  if elem==arr[i]:
    index.insert(k, i)
    k = k+1
if k==0:
  print("\nElement doesn't found!")
else:
  if k==1:
    print("\nElement Found at Index Number: " + str(index[0]))
  else:
    print(end="\nElement Found at Index: ")
    indexLen = len(index)
    for i in range(indexLen):
      print(end=str(index[i])+" ")
    print()

Dưới đây là chạy mẫu của nó với đầu vào của người dùng, 6 là kích thước, 1, 2, 3, 2, 4, 2 là sáu phần tử, sau đó 2 là phần tử để tìm và in số chỉ mục của nó của tất cả các lần xuất hiện:6 as size, 1, 2, 3, 2, 4, 2 as six elements, then 2 as element to find and print its index numbers of all occurrences:

Thử nghiệm trực tuyến Python


«Chương trình chương trình trước đây» Next Program »



Làm thế nào để bạn thực hiện tìm kiếm tuyến tính trong Python?

Khái niệm tìm kiếm tuyến tính..
Bước - 1: Bắt đầu tìm kiếm từ phần tử đầu tiên và phím kiểm tra = 7 với mỗi phần tử của danh sách X ..
Bước - 2: Nếu tìm thấy phần tử, hãy trả về vị trí chỉ mục của khóa ..
Bước - 3: Nếu không tìm thấy phần tử, phần tử trở lại không có mặt ..
Program..
Output:.
Explanation:.

Tìm kiếm tuyến tính đơn giản trong Python là gì?

Ngoài ra, bạn sẽ tìm thấy các ví dụ làm việc của tìm kiếm tuyến tính C, C ++, Java và Python.Tìm kiếm tuyến tính là một thuật toán tìm kiếm tuần tự nơi chúng tôi bắt đầu từ một đầu và kiểm tra mọi yếu tố của danh sách cho đến khi tìm thấy phần tử mong muốn.Nó là thuật toán tìm kiếm đơn giản nhất.a sequential searching algorithm where we start from one end and check every element of the list until the desired element is found. It is the simplest searching algorithm.

Tìm kiếm tuyến tính trong Python với ví dụ là gì?

Chương trình python cho tìm kiếm tuyến tính def linearSearch (mảng, n, k): cho j trong phạm vi (0, n): if (mảng [j] == k): return j return -1 mảng = [1, 3, 5,7, 9] k = 7 n = len (mảng) result = linearSearch (mảng, n, k) if (result == -1): in ("phần tử không tìm thấy")", kết quả)

Trường hợp tốt nhất cho tìm kiếm tuyến tính trong Python là gì?

Đối với một danh sách chứa N các mục, trường hợp tốt nhất cho tìm kiếm tuyến tính là khi giá trị đích bằng với phần tử đầu tiên của danh sách.Trong những trường hợp như vậy, chỉ cần một so sánh là cần thiết.Do đó, hiệu suất trường hợp tốt nhất là O (1).when the target value is equal to the first element of the list. In such cases, only one comparison is needed. Therefore, the best case performance is O(1).