美文网首页
算法优化

算法优化

作者: 风吹燕尾 | 来源:发表于2017-09-12 12:24 被阅读10次

思路

  • 遍历常见的算法思路
  • 遍历常见的数据结构
  • 空间和时间的交换(哈希表)
  • 预处理信息(排序)
  • 在瓶颈处寻找答案(O(nlogn)+O(n2);O(n3))

实际编写问题

  • 极端条件的判断

数组为空?字符串为空?数量为0?指针为null?

  • 代码规范(变量名)
  • 模块化,复用性

解密时间复杂度大O

  • O(nlogn+n) = O(nlogn)
  • O(nlogn+n^2) = O(n^2)
  • O(AlogA+B)不变

对邻接表实现的图进行遍历:
时间复杂度:O(V+E)

数据规模的概念

前提:如果想在1s之内解决问题:

  • O(n2)的算法可以处理大约104级别的数据;
  • O(n)的算法可以处理大约10^8级别的数据;
  • O(nlogn)的算法可以处理大约10^7级别的数据

空间复杂度

  • 多开一个辅助的数组:O(n);
  • 多开一个辅助的二维数组:O(n^2);
  • 多开常数空间:O(1);
    注意:递归的调用是有空间代价的,递归调用的深度就是空间的复杂度。

相关文章

  • 优化方法总结

    优化算法框架 神经网络模型中有多种优化算法,优化算法的作用用来优化更新参数。对于优化算法而言,主要的框架如下。参数...

  • 优化器

    优化器(optim) 优化算法模块(torch.optim) torch.optim 实现了丰富的优化算法,包括S...

  • 8. 优化案例

    1. 十大经典算法及其优化2.几种常见的优化算法3. 经验之谈:优化算法两句话精炼总结

  • 冒泡算法

    一、常用冒泡算法 二、优化冒泡算法

  • sgd(params, lr, batch_size)

    定义优化算法

  • Task07

    一 优化算法进阶 一个常用优化算法AdaDelta算法也针对AdaGrad算法在迭代后期可能较难找到有用解的问题做...

  • 爬山算法

    爬山算法(Hill Climbing)是一种最简单的优化算法(优化算法就是找最大或者最小值),这种算法是通过模拟人...

  • 玩转算法面试(一)

    1算法面试意义 2 3 4 优化算法

  • 高性能编程

    包含: Android内存优化,算法优化,Android的界面优化,Android指令级优化,以及Android应...

  • Transformer量化笔记

    前言 AI芯片(这里只谈FPGA芯片用于神经网络加速)的优化主要有三个方面:算法优化,编译器优化以及硬件优化。算法...

网友评论

      本文标题:算法优化

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