数据结构与算法之美(python)(课程整理A-01)

数据结构与算法之美

入门篇(1讲/共4讲)

01|为什么要学习数据结构和算法

  1. 要通关大厂面试,数据结构与算法这类基础知识必不可少。

    不要忘了,我们学习任何知识都是为了"用"的,是为了解决实际工作问题的。

  2. 业务开发工程师,你真的愿意做一辈子CRUD boy吗?

    虽然平时更多使用现成的接口,但是不需要自己实现,并不代表什么都不需要了解。很多基础框架中,一般都揉和了很多基础数据结构和算法的设计思想。(Spring, RPC框架,消息中间件,Redis等)。掌握数据结构和算法,不管对于阅读框架源码,还是理解其背后的设计思想,都是非常有用的。

  3. 基础架构研发工程师,写出达到开源水平的框架才是你的目标!

    高手之间的竞争其实就在细节。这些细节包括:你用的算法是不是够优化,数据存取的效率是不是够高,内存是不是够节省等等。这些累积起来,决定了一个框架是不是优秀。所以,如果你还不懂数据结构和算法,没听说过大 O 复杂度分析,不知道怎么分析代码的时间复杂度和空间复杂度,那肯定说不过去了,赶紧来补一补吧!

  4. 对编程还有追求?不想被行业淘汰?那就不要只会写凑合能用的代码!

    何为编程能力强?是代码的可读性好、健壮?还是扩展性好?我觉得没法列,也列不全。但是,在我看来,性能好坏起码是其中一个非常重要的评判标准。但是,如果你连代码的时间复杂度、空间复杂度都不知道怎么分析,怎么写出高性能的代码呢?

  5. 内容小结

    我们学习数据结构和算法,并不是为了死记硬背几个知识点。我们的目的是建立时间复杂度、空间复杂度意识,写出高质量的代码,能够设计基础架构,提升编程技能,训练逻辑思维,积攒人生经验,以此获得工作回报,实现你的价值,完善你的人生。所以,不管你是业务开发工程师,还是基础架构工程师;不管你是初入职场的初级工程师,还是工作多年的资深架构师,又或者是想转人工智能、区块链这些热门领域的程序员,数据结构与算法作为计算机的基础知识、核心知识,都是必须要掌握的。掌握了数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样。因为这样的你,就像是站在巨人的肩膀上,拿着生存利器行走世界。数据结构与算法,会为你的编程之路,甚至人生之路打开一扇通往新世界的大门。

  6. 课后思考

    你为什么要学习数据结构和算法呢?在过去的软件开发中,数据结构和算法在哪些地方帮到了你?

    因为在公司写项目的时候,有一些查询需求最简单就是多个循环,遍历查找,但是后面测试的时候发现这个时候的时间超级慢,所以思考是不是需要在数据结构上重新设计一下。 奈何学过的知识已经忘记了,所以打算重拾起来

posted @ 2020-12-13 11:20  Micheal_L  阅读(233)  评论(0编辑  收藏  举报