一、基本概念
1.基本术语:
数据,数据元素,数据项,数据对象,数据结构
2.逻辑结构和物理结构
3.数据类型和抽象数据类型
4.数据结构和算法的关系
5.算法如何比较
6.算法的定义和特性
7.算法的要求
8.算法的度量方法,理解为什么表示算法复杂度的函数是渐进增长的,
9.常见的复杂度阶,并了解典型的情况(常数阶、线性阶、对数阶、平方阶)
10.分析最好和最坏的情况
二、线性表
1.线性表的定义,分类(顺序表和链表)
2.顺序表的创建、遍历、插入、删除操作,优缺点
3.链表的创建、遍历、插入、删除操作,优缺点
4.链表的分类:单链表、静态链表、循环链表、双向链表(对3所说的内容分别怎么实现)
三、栈
1.栈的定义和结构
2.栈的存储结构(顺序存储和链式存储)
3.进栈和出栈操作各自的实现
4.两栈共享空间
5.栈和递归、栈和表达式求值
6.根据给定的序列,给出所有可能的进出栈的情况
四、队列
1.队列的定义和结构
2.循环队列
3.队列的链式存储结构和入队出队操作
五、串
1.串的定义和结构
2.串和线性表的比较
3.比较串的方法
4.普通的模式匹配算法和KMP模式匹配算法
六、树
1.树的定义以及分类,森林的概念
2.结点分类,节点间的关系
3.树的存储结构(3种,双亲表示法、孩子表示法、孩子兄弟表示法)
4.二叉树(重点)的定义,特殊的二叉树
5.二叉树的5条性质
6.二叉树的顺序存储结构、二叉链表
7.遍历二叉树的方法
8.二叉树如何建立
9.线索二叉树(原理以及实现)
10.树、森林、二叉树三者的互转换,树和森林的遍历
11.赫夫曼树以及赫夫曼编码
七、图
1.图的定义和结构
2.图的分类
3.图中顶点和边的关系
4.图的存储结构(邻接矩阵、邻接表、十字链表、邻接多重表、边集数组)
5.图的遍历(深度优先和广度优先)
6.图对应的最小生成树(两种算法,普里姆算法、克鲁斯卡尔算法)
7.图的最短路径(迪杰斯特拉算法、弗洛伊德算法)
8.拓扑排序和具体的实现算法
9.关键路径的具体算法实现
八、查找相关
1.什么是查找,策略
2.顺序表查找及优化
3.有序表查找(折半查找、插值查找、斐波那契查找)
4.线性索引查找(稠密索引、分块索引、倒排索引)
5.二叉查找树(排序树)的构建、查找、插入、删除等操作具体实现
6.平衡二叉树(AVL树)的实现原理及一些操作
7.多路查找树(2-3树、2-3-4树、B树、B+树)
8.散列表(哈希)查找(重点)
9.散列表相关的内容(构造方法,哈希函数,处理冲突的策略、查找的实现)
九、排序相关
1.冒泡、简单选择、直接插入、希尔、堆、归并、快排7中排序的详细代码
2.7种排序的速度、稳定性、时间复杂度、空间复杂度的全方位比较
3.7种算法的应用场景,优缺点
阅读(887) | 评论(0) | 转发(0) |