XuLizhao 's Notes

时光,漫步


  • 首页

  • 技术

  • 文档

  • 关于

  • 搜索
close

算法

时间: 2018-10-24   |   分类: tech     |   阅读: 435 字 ~1分钟

程序=数据结构+算法,所以这里记录下算法的点点滴滴。

基础

状态机

有限状态(自动)机, Finite-State Machine/FSM,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

搜索

折半搜索/二分搜索/Binary Search

是一种在有序数组中查找某一特定元素的搜索算法.(预排序数组的查找)

复杂度:

  • 时间复杂度: O(log n)
  • 空间复杂度: O(1)

两种实现

  • 递归版本
  • While循环

参考BinarySearch.java

其他

指数补偿

即exponential backoff, 通常用于网络和传输协议,例如重试等

  • Java实现
  • Go实现
  • 参考1

Levenshtein Distance/莱文斯坦距离

  • 指两个字符串之间由一个转换成另一个所需的最少编辑操作次数。允许编辑的操作包括: 替换、插入、删除。
  • 可以使用动态规划方法测量LD的值

应用场景:

  • 拼写检查
  • 抄袭识别
  • 语音识别
  • 及类似的字符串匹配场景,比如脱敏数据和明文数据的匹配

学习资源

  • 剑指 Offer 50 道经典算法题视频讲解 / 作者博客
  • algorithm-visualizer:算法可视化
  • 酷壳精选
  • 数据结构和算法必知必会的50个代码实现
  • 本文作者: xulizhao
  • 本文链接: https://xulizhao.com/blog/algorithm/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
#java#
日志处理
自动生成SSL证书的利器acme.sh
  • 文章目录
  • 站点概览

xulz

时光,漫步

56 日志
3 分类
28 标签
  • 基础
    • 状态机
  • 搜索
    • 折半搜索/二分搜索/Binary Search
  • 其他
    • 指数补偿
    • Levenshtein Distance/莱文斯坦距离
  • 学习资源
© 2017 - 2023 XuLizhao 's Notes
Powered by - Hugo/ NexT
津ICP备17010344号-1
0%