当前位置: 当前位置:首页 >域名 >Python之 常用查询算法:最小项搜索、顺序搜索、二分搜索 正文

Python之 常用查询算法:最小项搜索、顺序搜索、二分搜索

2025-11-04 07:40:01 来源:多维IT资讯作者:系统运维 点击:299次

  最小项搜索

  def min_search(items):

Python之 常用查询算法:最小项搜索、顺序搜索、二分搜索

  """

  最小项搜索

  :param items:

  :return:

  """

  min_index = 0

  for i in range(len(items)):

  if items[min_index] > items[i]:

  min_index = i

  return min index: {}.format(min_index)

  顺序搜索

  def order_search(target,用查 items):

  """

  顺序搜索,常用遍历方法,询算小项 O(n)

  :param target:

  :param items:

  :return:

  """

  position = 0

  while position < len(items):

  if target == items[position]:

  return where index: {}.format(position)

  position += 1

  return 404 Not FOUND!:(

  二分(叉)搜索

  def binary_search(target, items):

  """

  二分查找(二叉搜索),网站模板O(log2n)

  前置条件:列表已排好序

  :param target:

  :param items:

  :return: 无锡看妇科的服务器托管法最分搜医院 http://www.ytsgfk120.com/

  """

  left = 0

  right = len(items) - 1

  while left <= right:

  middle = (left + right) // 2

  if target == items[middle]:

  return where index: {}.format(middle)

  elif target > items[middle]:

  left = middle + 1

  else:

  right = middle - 1

  return -1

  测试 main() 函数示例

  if __name__ == __main__:

  items1 = [1, 3, 6, 23, 0]

  min_search_res = min_search(items1)

  print(最小值索引:, min_search_res)

  items2 = [1, 3, 6, 23, 66]

  order_search = order_search(23, items2)

  print(顺序查找:, order_search)

  items3 = [1, 3, 6, 23, 66]

  search_res = binary_search(66, items3)

  print(二分查找:, search_res)

服务器租用
作者:系统运维
------分隔线----------------------------
头条新闻
图片新闻
新闻排行榜