算法图解(小结)

算法图解

小结:

1、简介

  • 二分查找的速度比简单查找快的多
  • O(logn)比O(n)快。需要搜索的元素越多,前者比后者就快的越多。
  • 算法运行时间并不以秒为单位。
  • 算法运行时间时从其增速的角度度量的。
  • 算法运行时间用大O表示法表示。

2、选择排序

  • 计算机的内存可以比做成一大堆抽屉。
  • 需要存储多个元素时,可以使用数组或链表。
  • 数组的元素都在一起。
  • 链表的元素时分开的,其中每个元素都存储了下一个元素的地址。(前一个元素包含下一个元素的搜索地址)
  • 数组的读取速度很快。
  • 链表的插入和删除速度很快。
  • 在同一个数组中,所有元素的类型都必须相同。

3、递归

  • 递归指的是调用自己的函数。
  • 每个递归函数都有两个条件:基线条件和递归条件。
  • 栈有两种操作:压入和弹出。
  • 所有函数调用都进入调用栈。
  • 调用栈可能很长,这将占用大量的内存。

4、散列表

  • 散列表可用于缓存数据(例如,在web服务器上)
  • 散列表非常适用于防止重复。

5、广度优先算法

  • 广度优先搜索是否有从A到B的路径。如果有,广度优先搜索将找出最短路径。
  • 面临类似于寻找最短路径的问题时,可以尝试使用图来创建模型,在使用广度优先搜索来解决问题。
  • 有向图中的边为箭头,箭头的方向制定了关系的方向。
  • 无向图中的边不带箭头,其中的关系是双向的。
  • 队列是先进先出(FIFO)的。
  • 栈是先进后出的。

6、狄克斯特拉算法

  • 广度优先搜索用于在非加权图中查找最短路径。
  • 狄克斯特拉算法用于在加权图中查找最短路径。
  • 仅当权重为正时狄克斯特拉算法才管用。

7、贪婪算法

  • 贪婪算法寻找局部最优解,企图以这种方式获得全局最优解。
  • 对于NP完全问题,还没有找到快速解决方案。
  • 面临NP完全问题时,最佳的做法是使用近似算法。
  • 贪婪算法易于实现、运行速度快,是不错的近似算法。

8、K最近邻算法

  • KNN用于分类和回归,需要考虑最近的邻居。
  • 分类就是编组。
  • 回归就是预测结果。
  • 特征抽取意味着将物品转换为一系列可比较的数字(机器学习)
  • 能否挑选合适的特征事关KNN算法的成败。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小高要坚强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值