算法学习

框架思维

数据结构的存储方式

只有两种:数组(顺序存储)和链表(链式存储)

1
2
数组和链表 是 结构基础
散列表、栈、队列、堆、树、图等等各种数据结构 都是链表或者数组上的特殊操作, 是 上层建筑

数据结构的操作

遍历 + 访问 (在不同的应用场景,尽可能高效地增删查改)

  • 方式
1
2
3
4
线性的
for/while 为代表
非线性的
递归为代表

算法和数据结构

数据结构是工具,算法是通过合适的工具解决问题的方法

1
2
算法是利用数据结构进行显式利用
算法是利用数据结构进行显式利用无论怎样利用数据结构,多么高大上的算法,其解法都逃不出第二点中相应的框架

总结

1
2
3
学会从框架上看问题,而不要纠结于细节问题
即: 不要纠结 i 到底应该加到 n 还是加到 n - 1
而: 应该直接知道是使用什么数据结构进行如何 遍历和访问