如何抓住重点,系统高效的学习数据结构和算法
数据结构是为算法服务的,算法要作用在特定的数据结构之上的。比如因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据,但是如果选择链表这种数据结构,二分查找算法就无法工作,因为链表并不支持随机访问。
数据机构是静态的,只是组织数据的一种方式。
学习的重点在什么地方
1.首先要掌握复杂度分析
2.所有的知识点
20个最常用的、最基础的数据结构和算法:
包括10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树
10个算法:递归、排序、二分查找、搜索、哈希算法、贪心、分治、回溯、动态规划、字符串匹配算法
划、字符串匹配算法