数据结构与算法之美--开篇

文章目录

  • 开篇词 | 从今天起,跨过“数据结构与算法”这道坎
  • 01 | 为什么要学习数据结构和算法?
  • 02 | 如何抓住重点,系统高效地学习数据结构与算法?

开篇词 | 从今天起,跨过“数据结构与算法”这道坎

《算法导论》

腾讯T4,长期负责手机QQ后台整体建设,用了不到半年时间,就把区块链的整个技术脉络摸清楚了。那些所谓的新技术,核心和本质的东西其实就是当初学的那些基础知识。(基础很重要,但是利用基础去更进一步的经历同样重要,否则就很容易一直处于入门状态了)

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

越是厉害的公司,越是注重考查数据结构与算法这类基础知识。

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

经常有人说,程序员35岁之后很容易陷入瓶颈,被行业淘汰。有的人写代码的时候,从来都不考虑非功能性的需求,只是完成功能,凑合能用就好;做事情的时候,也从来没有长远规划,只把眼前事情做好就满足了。

掌握了数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样。

02 | 如何抓住重点,系统高效地学习数据结构与算法?

没有找到好的学习方法,没有抓住学习的重点。

从广义上讲,数据结构就是指一组数据的存储结构,算法是操作数据的一组方法。数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。

学习它的来历、自身的特点、适合解决的问题以及实际的应用场景。

复杂度分析:时间复杂度、空间复杂度

十个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树

十个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

边学边练,适度刷题
多问、多思考、多互动
在枯燥的学习过程中,给自己设立一个切实可行的目标,比如思考留言,学习笔记,学习心得,找错等等
知识需要沉淀,不要试图一下子掌握所有。学习知识的过程是反复迭代、不断沉淀的过程

你可能感兴趣的:(Algorithm,数据结构与算法之美,极客时间)