1什么是数据结构?什么是算法?
从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数.(数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。)
从狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等.
数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树
算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
2数据结构和算法的关系
数据结构是为算法服务的,算法要作用在特定的数据结构之上。
数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作,构建算法,孤立存在的数据结构就是没用的.
3理解复杂度分析
数据结构和算法在不同的环境下他们的效率是不同的,那我们如何来判断这个数据结构和算法在当前环境下的效率.
这就需要引用一个衡量的标准.时间复杂度和空间复杂度.学习数据结构和算法的基石,就是要学会`复杂度分析`。
知道怎么去分析复杂度,才能作出正确的判断,在特定的场景下选用合适的正确的算法。而不是盲目的死记烂背,机械操作.
本文是在学习王争老师的数据结构与算法之美的笔记.有些是王争老师或者评论的言语.在此附上原文链接
https://time.geekbang.org/column/article/40036