美文网首页
6. 数据结构与算法:基本搜索

6. 数据结构与算法:基本搜索

作者: sszhang | 来源:发表于2018-06-05 18:47 被阅读0次

顺序搜索 是最简单直观的搜索方法:从列表开头到末尾,逐个比较待搜索项与列表中的项,直到找到目标项(搜索成功)或者 超出搜索范围 (搜索失败)。

根据列表中的项是否按顺序排列,可以将列表分为 无序列表 和 有序列表。对于 无序列表,超出搜索范围 是指越过列表的末尾;对于 有序列表,超过搜索范围 是指进入列表中大于目标项的区域(发生在目标项小于列表末尾项时)或者指越过列表的末尾(发生在目标项大于列表末尾项时)。

1、无序列表

无序列表.png
def sequentialSearch(items, target):
    for item in items:
        if item == target:
            return True

    return False

2、有序列表

有序列表.png
def orderedSequentialSearch(items, target):
    for item in items:
        if item == target:
            return True
        elif item > target:
            break

    return False

3. 二分搜索

二分搜索 充分利用了有序列表的优势,该算法的思路非常巧妙:在原列表中,将目标项(target)与列表中间项(middle)进行对比,如果target等于middle,则搜索成功;如果target小于middle,则在middle的左半列表中继续搜索;如果target大于middle,则在middle的右半列表中继续搜索。

binary_search.png
def recursiveBinarySearch(items, target):
  if len(items )==0:
    return False
  else:
    middle = len(items)//2
    if target = = items[middle]:
      return True
    elif target < items [middle]:
      return recursiveBinarySearch(items[:, middle], target)
    else:
      return recursiveBinarySearch(items[middle+1:], target)

相关文章

  • 6. 数据结构与算法:基本搜索

    顺序搜索 是最简单直观的搜索方法:从列表开头到末尾,逐个比较待搜索项与列表中的项,直到找到目标项(搜索成功)或者 ...

  • 数据结构与算法 - 排序与搜索

    文章来源:数据结构与算法(Python) 排序与搜索排序算法(英语:Sorting algorithm)是一种能将...

  • 数据结构与算法--深度和广度优先搜索

    什么是“搜索”算法? 算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构...

  • 实用数据结构与算法

    前言   本文主要介绍在现实生产环境使用较多的高效搜索数据结构与算法。空间、性能、实现复杂度一直都是数据结构与算法...

  • 数据结构与算法 - 查找

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构数据结构...

  • 思维导图之数据结构+算法

    数据结构+算法 = 程序 数据结构比较 参考文章 数据结构与算法数据结构与算法(java)

  • 数据结构与算法 - 树形结构

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构 目录 ...

  • 搜索与回溯算法模板及其应用

    本文介绍了搜索与回溯算法模板及其应用,主要包括: 【1】 搜索与回溯算法基本思想【2】模板算法1及其应用(素数环问...

  • 数据结构与算法--BFS&DFS

    “搜索”算法 深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构。 图上的搜索算法就是,在图中找出从一个...

  • 数据结构与算法 (Kotlin语言描述) / 陈光剑

    《数据结构与算法 (Kotlin语言描述)》/ 陈光剑 内容简介 本书主要介绍基本数据结构以及相关的经典算法,强调...

网友评论

      本文标题:6. 数据结构与算法:基本搜索

      本文链接:https://www.haomeiwen.com/subject/euymsftx.html