📜  用于线性搜索的Python程序

📅  最后修改于: 2022-05-13 01:56:56.746000             🧑  作者: Mango

用于线性搜索的Python程序

问题:给定一个包含 n 个元素的数组 arr[],编写一个函数来搜索 arr[] 中的给定元素 x。
例子 :

Input : arr[] = {10, 20, 80, 30, 60, 50, 
                     110, 100, 130, 170}
          x = 110;
Output : 6
Element x is present at index 6

Input : arr[] = {10, 20, 80, 30, 60, 50, 
                     110, 100, 130, 170}
           x = 175;
Output : -1
Element x is not present in arr[].

一种简单的方法是进行线性搜索,即

  • 从 arr[] 最左边的元素开始,将 x 与 arr[] 的每个元素一一比较
  • 如果 x 与元素匹配,则返回索引。
  • 如果 x 不匹配任何元素,则返回 -1。


例子:
线性搜索1

# Searching an element in a list/array in python
# can be simply done using \'in\' operator
# Example:
# if x in arr:
#   print arr.index(x)
  
# If you want to implement Linear Search in python
  
# Linearly search x in arr[]
# If x is present then return its location
# else return -1
  
def search(arr, x):
  
    for i in range(len(arr)):
  
        if arr[i] == x:
            return i
  
    return -1

上述算法的时间复杂度为 O(n)。

有关详细信息,请参阅有关线性搜索的完整文章!