search

{< katex />}

一、基础搜索算法 #

1. 线性搜索 #

  • 顺序搜索
  • 哨兵线性搜索
  • 概率线性搜索

2. 二分搜索 #

  • 标准二分搜索
  • 插值搜索
  • 指数搜索
  • 三分搜索

3. 哈希搜索 #

  • 直接地址法
  • 除留余数法
  • 开放地址法
  • 链地址法

二、树结构搜索算法 #

1. 二叉搜索树 #

  • 平衡二叉搜索树
  • AVL树
  • 红黑树
  • B树与B+树

2. 多路搜索树 #

  • 2-3树
  • 2-3-4树
  • B*树
  • Trie树

3. 空间划分树 #

  • 四叉树
  • 八叉树
  • KD树
  • R树

三、图搜索算法 #

1. 深度优先搜索 #

  • 递归DFS
  • 迭代DFS
  • 回溯算法
  • 记忆化搜索

2. 广度优先搜索 #

  • 标准BFS
  • 双向BFS
  • 多源BFS
  • 0-1 BFS

3. 启发式搜索 #

  • A*算法
  • IDA*算法
  • 最佳优先搜索
  • 波束搜索

四、字符串搜索算法 #

1. 单模式匹配 #

  • 朴素算法
  • KMP算法
  • Boyer-Moore算法
  • Sunday算法

2. 多模式匹配 #

  • AC自动机
  • Wu-Manber算法
  • Commentz-Walter算法

3. 近似匹配 #

  • 编辑距离算法
  • 模糊匹配
  • 正则表达式匹配

五、高级搜索技术 #

1. 剪枝优化 #

  • Alpha-Beta剪枝
  • 分支限界法
  • 约束传播
  • 对称性剪枝

2. 局部搜索 #

  • 爬山算法
  • 模拟退火
  • 禁忌搜索
  • 遗传算法

3. 元启发式搜索 #

  • 粒子群优化
  • 蚁群算法
  • 人工蜂群算法
  • 差分进化算法

六、并行与分布式搜索 #

1. 并行搜索算法 #

  • MapReduce搜索
  • 多线程搜索
  • GPU加速搜索
  • 向量化搜索

2. 分布式搜索 #

  • 倒排索引
  • 布隆过滤器
  • 一致性哈希
  • 分布式哈希表

七、应用领域特定搜索 #

1. 数据库搜索 #

  • 索引扫描
  • 全表扫描
  • 连接查询优化
  • 查询重写

2. 信息检索 #

  • 向量空间模型
  • 概率模型
  • 语言模型
  • 语义搜索

3. 游戏AI搜索 #

  • 极小化极大算法
  • 蒙特卡洛树搜索
  • 期望极大化搜索
  • 实时启发式搜索

八、搜索算法复杂度分析 #

1. 时间复杂度分析 #

  • 最坏情况分析
  • 平均情况分析
  • 摊还分析
  • 渐进分析

2. 空间复杂度分析 #

  • 辅助空间需求
  • 内存访问模式
  • 缓存友好性
  • 空间-时间权衡

3. 实际性能考量 #

  • 常数因子优化
  • 分支预测优化
  • 预取技术
  • 算法工程实践