算法

摘要

任何一种计算方法——除非它能提供一种编写程序的方法,否则不会有太大的用处。– 理查德·费曼

训练

  • 3Blue1Brown: Very Basic Intro to Neural Networks
    3Blue1Brown 是一个数学学习频道。其发布的视频通过动画演示和讲解,帮助观者在头脑中构建有关数学概念定义定理的最生动直观的理解,致力于将复杂得数学概念可视化。

  • Leetcode 编程训练

    Leetcode这个网站上的题都是一些经典的公司用来面试应聘者的面试题,很多人通过刷这些题来应聘一些喜欢面试算法的公司

掌握算法是IT工程师的基本功

  • 掌握优点和缺点:折中的思维不仅体现在算法上,在架构上也是一样的。

  • 通过图上推演来思考:推荐自己画图,然后向别人说明。先从基本操作入手,再掌握更详细的操作和异常操作,不要试图一下子理解所有细致末节。

  • 日常生活中的算法例子

  • 比较算法优劣:我们会忽略一些微小的系统开销。我们应该关注的是随着数据个数的变化,所花费的时间会以怎样的曲线发生变化。因为有一些算法,在数据只有一两个的时候性能很好,但是当数据个数达到几千到几万的时候,性能会急剧下降。

  • 评价算法的指标

  • 通过复杂度来评价算法


  • 掌握算法要靠编程:对于新人来说,编程经验不足会成为瓶颈.没有编程经验,就无法进行整体的把握,不能举一反三,只能死记硬背。
  • 算法例子:数组、链表、树、散列算法、队列、栈、排序、缓存、锁

推荐文章