为什么需要数据结构和算法
计算机就是存储+计算
随着互联网的发展,数据量越来越大,而计算资源是有限的,怎样在有限的时间和资源条件下;
提高效率,找到最优的数据结构和算法解决问题,这是我们现在需要解决的问题;现在很多的
开源软件都是在解决这些问题,而且作为很多系统的基础部分;
我们怎么选用合适的数据结构和算法?有什么衡量标准吗?
时间复杂度和空间复杂度。评价算法好坏的方法;
知道怎么去分析复杂度,才能作出正确的判断,在特定的场景下选用合适的正确的算法。
而不是盲目的死记烂背,机械操作。
面试需要
面试中经常考察候选人的算法问题;
为何一定是数据结构和算法呢;
也是下面一点表达的意思,可能现在招的事前段工程师,如果基础好,是不是过一段时间公司需要后端的工程师,候选人可以做后端
的工作,或者前后端交流也非常方便;
如果算法基础好、路子宽
基础好了,路子宽
从个人发展方面,基础好、有更多的可能行;
因为他是基础,而且你掌握很透彻,所以你如果想掌握工作之外的内容是比较容易的,也是公司看中的;
无论是大数据还是人工智能以及区块链都是需要算法基础。
自己使用或者创建工具
写自己的工具、需要考虑算法的性能问题,所以我们需要多算法深入理解;
例如时间复杂度、空间复杂度;
考虑数据量对算法的影响等等;
下面的课程是从各种开源软件中学习算法知识,他们是怎么应用算法的,为什么要使用某种算法或者数据结构;

分布式原理和算法解析课程,一个大型系统肯定是分布式,而一个分布式系统的治理需要各种算法的支撑;

性能调优
系统达到一定的规模、需要做系统性能测试、分析、优化;这时候也需要算法知识;
这些高阶的课程都是需要数据结构和算法的基础的;

学习主要参考一下课程
