[数据结构与算法 01] 什么是数据结构?什么是算法?联系是什么?常用的数据结构/算法有?

参考:https://time.geekbang.org/column/article/40036

 

一、anki

  • 下载

https://apps.ankiweb.net/

  • 用法与作用

https://www.zhihu.com/question/28335314

 

二、leetcode

 

三、数据结构和算法 有什么用?

数据结构和算法 解决的是

“如何更省更快地存储和处理数据的问题”

因此,我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。所以,如果你只掌握了数据结构和算法的特点、用法,但是没有学会复杂度分析,那就相当于只知道操作口诀,而没掌握心法。只有把心法了然于胸,才能做到无招胜有招!

 

四、什么是数据结构?什么是算法?

  • 从广义上讲

数据结构就是指 一组数据的存储结构
算法就是 操作数据的一组方法

  • 从狭义上讲

是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。
这些都是前人智慧的结晶,我们可以直接拿来用。
这些经典数据结构和算法,都是前人从很多实际操作场景中抽象出来的,经过非常多的求证和检验,可以高效地帮助我们解决很多实际的开发问题。

 

五、数据结构与算法之间的联系?

  • 数据结构是为算法服务的
  • 算法要作用在特定的数据结构之上

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

 

六、总结了 20 个最常用的数据结构与算法,不管是应付面试还是工作,攻克这 20 个知识点就足够了

数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;

 

 

七、学习路线

八、数据结构和算法 图谱

 
posted @ 2020-01-21 17:06  耶梦加德  阅读(317)  评论(0编辑  收藏  举报