东莞个人网站制作,自动做PPT的网站,wordpress个人博客下载,简单学校网站模板本篇是 《极客时间#xff1a;数据结构与算法之美》课程的学习笔记和带有自己的一些思考实践。原文学习链接如下#xff1a;https://time.geekbang.org/column/intro/100017301 开篇词 | 从今天起#xff0c;跨过“数据结构与算法”这道坎01 | 为什么要学习数据结构和算法数据结构与算法之美》课程的学习笔记和带有自己的一些思考实践。原文学习链接如下https://time.geekbang.org/column/intro/100017301 开篇词 | 从今天起跨过“数据结构与算法”这道坎01 | 为什么要学习数据结构和算法02 | 如何抓住重点系统高效地学习数据结构与算法 开篇词 | 从今天起跨过“数据结构与算法”这道坎
边读边练写代码时考虑性能方面的问题进行时间、空间复杂度分析。
遇到问题解决之后进行思考、研究透彻。
技术人成长的姿势关注架构和技术趋势的概念、设计思想、实践为能力。
不管上层衍生出来多少新技术、新产品都依赖于底层的基础知识所以基础知识才是核心和本质。
基础知识包括
数据结构与算法。计算机组成原理。操作系统。计算机网络。编译原理。数据库原理。
基础知识决定技术高度和建造技术大楼的速度和质量。
学习的过程需要思考和时间而不是死记硬背思考怎么用为什么需要如何用设计思想是什么应用场景有哪些
所有知识转化为能力的过程都是逻辑思维的锻炼和动手能力的实践提升而绝不是死记硬背机械的重复记忆。
对于生活中遇到问题的态度和处理 人生路上我们会遇到很多的坎。跨过去你就可以成长跨不过去就是困难和停滞。而在后面很长的一段时间里你都需要为这个困难买单。对于我们技术人来说更是这样。既然数据结构和算法这个坎我们总归是要跨过去为什么不是现在呢
数据结构和算法是一个普通程序员和一个优质高潜质程序员之间永远的区分线。
01 | 为什么要学习数据结构和算法
面试数据结构和算法基础知识是对长期潜力的考察。
算法思维将实际问题抽象为数学问题然后用计算机将数学问题用代码进行表示和处理。
学习任何知识如果不是为了去应用解决实际问题那便毫无意义。
多刁难自己多给自己提问然后去解决在解决的过程中就可以学到更多新知识。简而言之就是在学习方面不要放过自己随时挑自己的刺。
即使是直接调用类库接口也至少应该知道根据自己的业务应该调用哪个类的哪些接口更深层次来说你经常调用的接口难道就没有兴趣了解一些实现这些实现凭什么可以被放在标准库中使用实现的时候有没有什么缺点如果让你实现你是否实现的比标准库好不断给自己提问然后去解决解决的过程就会学到更多知识自己的知识地图不断扩大深度越深越能接触到底层最本质的原理逻辑思维能力和解决问题的能力就会不断提升。
如果自己经常使用的东西都不知道该如何取用都不知道实现和原理那是多么可怕的事情。
写出达到开源水平的框架才是目标。
高手之间的竞争是细节的竞争 算法够不够优化—时间复杂度数据存取效率是不是够高—响应时间内存是不是足够节省—空间复杂度。
做事情需要有难度梯度需要思考在解决问题的过程中提升能力。走出舒适区不断锻炼自己。
即学即用即用即学。
在实践中遇到问题去思考然后带着问题去学习是非常高效的学习方法。
学习数据结构和算法的目的
建立时间、空间复杂度意识写出高质量的代码提升编程能力。能够设计基础架构。训练逻辑思维。积攒人生经验。长期看来大脑的思考能力是个人最重要的核心竞争力算法是为数不多的能够有效训练大脑思考能力的途径之一。获得工作汇报实现价值。完善人生。
掌握了数据结构与算法看待问题的深度解决问题的角度就会完全不一样。不只是编程方面生活中的各个方面遇到各种问题会因为你的逻辑思维能力获得锻炼和提升而处理的更好。
02 | 如何抓住重点系统高效地学习数据结构与算法