01数据结构与算法之美专栏笔记·前言

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

1. 什么是数据结构?什么是算法?
  1. 广义上讲,数据结构就是指一组数据的存储结构,是相互之间存在一种或多种特定关系的数据元素的集合。算法就是操作数据的一组方法。(数据结构有很多定义,这里只是一种)
  2. 狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。都是前人智慧的结晶。都是前人从很多实际操作场景中抽象出来的,经过非常多的求证和验检,可以高效地帮助我们解决很多实际开发问题。
  3. 数据结构和算法相辅相成,数据结构是为算法服务,算法要作用在特定的数据结构之上。比如因为数组具有随机访问的特性,常用的二分查找算法需要用数组来存储数据,但如果选择链表这种数据结构,二分查找就无法工作了。
2. 最重要的概念-复杂度分析
3.20个最常用、最基础的数据结构
  1. 10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树;
  2. 10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
4.学习的方法
  • 边学边练、适度刷题
  • 多问、多思考、多互动
  • 打怪升级学习法;在枯燥的学习过程中,也可以给自己设立一个切实可行的目标.
  • 知识需要沉淀、不要想试图一下子掌握所有。
5.个人总结

学习数据结构别无他法,唯有坚持下去,思路比记忆更重要,思考比动手更有效,每天给自己提一点问题,然后去解决它。将知识结构化刚在脑海中。日拱一卒,不期速成。

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

推荐阅读更多精彩内容