数据结构的知识点整理

/ 0评 / 0

前言

数据结构一直是学习的重点和难点,对于任何一种数据结构,几乎都要从三个方面进行学习,分别是数据的存储,数据的遍历,相关典型算法。以下罗列各数据结构的知识点和关键字。

一、线性表

顺序表,单链表,静态链表(数据链表,备用链表),动态链表,双向链表,循环链表,双向循环链表

二、栈

顺序栈,链栈

三、队列

顺序队列,链队列

四、字符串

存储(定长存储,堆存储,链表存储)

字符串的模式匹配算法(BF和KMP算法)

五、数组和广义表

矩阵(对称矩形,上下三角矩阵,稀疏矩形)

稀疏矩阵(三元组,行逻辑三元组,十字链表存储)

广义表,使用链表存储结构,使用union联合体

六、树

二叉树,结点,满二叉树,完全二叉树

遍历,先序,中序,后序,层次(使用队列实现,双亲出队,孩子入队),高度

线索二叉树,提高遍历效率,null结点存储直接前驱或直接后继。双向线索二叉树

其他标示法:双亲表示法,孩子表示法,孩子兄弟表示法(二叉树和森林的相互转换)

哈夫曼树:最优二叉树,带权路径长度最小,从叶子结点开始生成。计算哈夫曼编码。

七、图

顺序存储,邻接矩阵法

数组1:存储结点信息

数组2:二维数组存储结点关系

链式存储:

邻接表,十字链表,邻接多重表

深度优先搜索(回溯法),广度优先搜索(队列层次遍历)

最短路径算法:迪杰斯特拉算法(单点到其他点最短距离),弗洛伊德算法(所有点到其他点最短距离)

八、查找

静态查找表:顺序查找,折半(二分)查找,分块查找

动态查找表:二叉排序树,平衡二叉树(AVL),B-Tree,B+Tree(数据库,文件系统等),红黑树

哈希表,散列表,哈希函数,冲突处理

九、排序

直接插入排序

折半插入排序

2路插入排序

表插入排序

希尔排序(缩小增量排序)

冒泡排序

快速排序

简单选择排序

树形选择排序(锦标赛排序)

堆排序

归并排序

基数排序(特殊排序算法,不直接比较值的大小)