Appearance
概述
数据结构和算法的关系
数据结构是研究组织数据方式的学科。
程序 = 数据结构 + 算法
数据结构是算法的基础
数据结构
- 线性结构
- 数据元素之间一对一的线性关系
- 存储结构
- 顺序存储结构——连续(数组)
- 链式存储结构——不连续(链表)
- 数组、队列、 链表、栈
- 非线性结构
- 二维数组、多维数组、广义表、树、图
起步
几个经典的算法面试题
- 字符串匹配问题
- 暴力匹配「简单,效率低」
- KMP算法「部分匹配表」
- 汉诺塔问题
- 分治算法
- 八皇后问题
- 回溯算法
- 马踏棋盘算法(骑士周游问题)
- 图的深度优先遍历算法(DFS)+贪心算法优化
- 修路问题
- 最小生成树(普利姆算法)
- 最短路径问题
- 弗洛伊德算法