数据结构与算法之美1--如何学

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

概念

广义上讲:数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。
从狭义上讲:是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。这些都是前人智慧的结晶,我们可以直接拿来用。

关系

数据结构是为算法服务的,算法是要作用再特定的数据结构上的。
比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。如果我们选择链表这种数据结构,二分查找算法就无法工作了,因为链表并不支持随机访问。

数据结构是静态的,他只是组织数据的一种方式。如果不在它的基础上操作、构建算法、孤立存在的数据结构就是没用的。

数据结构和算法如何提高效率、如何节省存储空间

框架

《数据结构与算法之美1--如何学》 913e0ababe43a2d57267df5c5f0832a7.jpg

学习的重点在什么地方?

  1. 效率和资源消耗的度量衡–复杂度分析。

  2. 最常用、最基础的20个数据结构与算法,学习他们的:“来历”、“特点”、“适合解决什么问题”和“实际的应用场景”。
    数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树
    算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
    怎么学

  3. 边学边练,每周花 1~2 小时集中攻关三节课涉及的数据结构和算法,全部写出来。

  4. 主动提问、多思考、多互动。在留言区增加自己的留言。

  5. 自我激励,每次学习完做一篇学习笔记。

  6. 沉下心不要浮躁,先把这些基础的数据结构和算法,还有学习方法熟练掌握后,再追求更高层次。

    原文作者:凯玲之恋
    原文地址: https://www.jianshu.com/p/07ef84188c8a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞