为什么要学习数据结构与算法
开新坑数据结构与算法,你用的算法是不是够优化,数据存取的效率是不是够高,内存是不是够节省等等,这些累积起来,决定了一个框架是不是优秀.
为什么?
- 直接好处是能够有写出性能更优的代码。
- 算法,是一种解决问题的思路和方法,有机会应用到生活和事业的其他方面。
- 长期来看,大脑思考能力是个人最重要的核心竞争力,而算法是为数不多的能够有效训练大脑思考能力的途径之一。
怎么办?
数据结构和算法
- 广义:数据结构就是指一组数据的存储结构.算法就是操作数据的一组方法
- 狭义:指某些著名的数据结构的算法,比如队列、栈、堆、二分查找、动态规划等.
- 数据结构是为算法服务的,算法要作用在特定的数据结构之上
数据结构与算法的正文内容
- 数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
- 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
技巧
- 边学边练,适度刷题;(目的掌握,应用)
- 多问、多思考、多互动;(找到几个人一起学习,一块儿讨论切磋)
- 打怪升级学习;
- 知识需要沉淀,不要想试图一下子掌握所有.(学习知识的过程是反复迭代、不断沉淀的过程)