一、What is 数据结构与算法
数据结构就是数据的存储结构.算法是基于结构而形成的方法.空间复杂度和时间复杂度是衡量数据结构与算法分析的好坏
数据结构和算法是相辅相成的,数据结构是为算法服务的,而算法则操作在指定的数据结构上
二、Why is ?
为什么要学习数据结构与算法分析呢.首先,通过空间复杂度与算法分析能够很好的分析程序的执行效率。在不同的业务场景下,可以针对性的挑出几种方案并选择最好的...而不仅仅局限于实现业务逻辑,提高程序的执行效率是一个有追求的程序员所必备的!
三、How to ?
首先,空间复杂度和时间复杂度必须掌握.它是这门功法的心决.任何数据结构与算法分析都是基于此来衡量好坏
由浅入深.先从基本的入手
10种数据结构
数组、链表、栈、堆、队列、散列表、二叉树、跳表、图、Tire树
10种算法
递归、排序、二分查找、搜索、哈希算法、谈心算法、分治算法、回溯算法、动态规则、字符串匹配算法
只要掌握这些及基础的,后面再学一些更复杂的就相对容易吸收与理解了
而在学习的过程中,一定要深入理解概念:他的"来历"、"自身特点"、"适合解决什么问题"以及"实际的应用场景",并进行实践。所以后续我会通过编程语言Java来实现加深对概念的理解,并写博客进行分享.反复的进行问题。毕竟技术这一块只有不断回归学习.才能更加印象深刻和运用到实际项目中
注:本文的知识点都是从极客时间APP的专栏《数据结构与算法》学习的
下面是数据结构与算法的思维导图.附图: