数据结构、算法是什么?
- 数据结构:指的是“一组数据的存储结构”
- 算法:指的是“操作数据的一组方法”。
- 数据结构是为算法服务的,算法是要作用在特定的数据结构上的。
为什么学习数据结构和算法?
- 直接好处是能够有写出性能更优的代码。
- 训练逻辑思维提升看待问题的深度,解决问题的角度就会完全不一样。
如何学习?
- 边学边练,适度刷题。把学习过程中涉及的数据结构和算法全部用代码实现一遍。可以“适度”刷题,但一定不要浪费太多时间在刷题上。我们学习的目的还是掌握,然后应用。
- 定目标、勤总结、自我激励。设立切实可行的目标;目标实现的过程中不断总结,同类型知识点反复迭代、不断沉淀;当目标达成,给自己一定的正能量反馈。
学习重点
- 掌握考量效率和资源消耗的方法——复杂度分析。
- 掌握 20 个最常用的、最基础数据结构与算法
- 数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树
- 算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法