用于线性搜索的Python程序

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

null
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。

例子: linear-search1

# 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)。

请参阅完整的文章 线性搜索 更多细节!

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享