数据结构与算法的意义以及如何高效学习

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

  • 基础知识就像是一座大楼的地基,它决定了我们的技术高度。而要想快速做出点事情,前提条件一定是基础能力过硬,“内功”要到位。
  • 掌握了数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样
  • 不需要自己实现,并不代表什么都不需要了解。
  • 业务开发工程师,你真的愿意做一辈子 CRUD boy 吗?

数据结构与算法的意义,以及联系

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

如何高效学习

1 首先要掌握一个数据结构与算法中最重要的概念——复杂度分析
2 其次,抓住重点,提升效率

image.png

10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

3 要学习它的“来历”“自身的特点”“适合解决的问题”以及“实际的应用场景”
4 边学边练,适度刷题
5 多问、多思考、多互动
6 知识需要沉淀,给自己设立一个切实可行的目标

数据结构与算法学习书单

image.png

极客时间: https://time.geekbang.org/column/article/41149

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容