本页面提供了关于搜索算法的习题库,旨在帮助学习者更好地理解和掌握各种搜索算法。

算法介绍

以下是一些常见的搜索算法:

  • 线性搜索(Linear Search)
  • 二分搜索(Binary Search)
  • 深度优先搜索(Depth-First Search, DFS)
  • 广度优先搜索(Breadth-First Search, BFS)
  • A 搜索算法(A Search Algorithm)**

实例习题

线性搜索

题目:给定一个整数数组和一个目标值,实现线性搜索算法,返回目标值在数组中的索引。

代码示例

def linear_search(arr, target):
    for i in range(len(arr)):
        if arr[i] == target:
            return i
    return -1

二分搜索

题目:给定一个已排序的整数数组和一个目标值,实现二分搜索算法,返回目标值在数组中的索引。

代码示例

def binary_search(arr, target):
    low, high = 0, len(arr) - 1
    while low <= high:
        mid = (low + high) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1
    return -1

扩展阅读

更多关于算法的学习资料,您可以访问算法导论


算法图解

返回首页