摘要
任何一种计算方法——除非它能提供一种编写程序的方法,否则不会有太大的用处。— 理查德·费曼
训练
3Blue1Brown: Very Basic Intro to Neural Networks
3Blue1Brown 是一个数学学习频道。其发布的视频通过动画演示和讲解,帮助观者在头脑中构建有关数学概念定义定理的最生动直观的理解,致力于将复杂得数学概念可视化。-
Leetcode这个网站上的题都是一些经典的公司用来面试应聘者的面试题,很多人通过刷这些题来应聘一些喜欢面试算法的公司
掌握算法是IT工程师的基本功
掌握优点和缺点:折中的思维不仅体现在算法上,在架构上也是一样的。
通过图上推演来思考:推荐自己画图,然后向别人说明。先从基本操作入手,再掌握更详细的操作和异常操作,不要试图一下子理解所有细致末节。
日常生活中的算法例子
比较算法优劣:我们会忽略一些微小的系统开销。我们应该关注的是随着数据个数的变化,所花费的时间会以怎样的曲线发生变化。因为有一些算法,在数据只有一两个的时候性能很好,但是当数据个数达到几千到几万的时候,性能会急剧下降。
评价算法的指标
- 通过复杂度来评价算法
- 掌握算法要靠编程:对于新人来说,编程经验不足会成为瓶颈.没有编程经验,就无法进行整体的把握,不能举一反三,只能死记硬背。
- 算法例子:数组、链表、树、散列算法、队列、栈、排序、缓存、锁