408笔记完整考点篇
数据结构
时间复杂度
线性表:
具有随机存储特性,查找时间复杂度为O(1)
单链表-尾插法⭐️
栈及其应用
根据限定条件判断合法性;最小容量;表达式求值*;中缀表达式转化为后缀表达式过程*
应用:数制转换、括号匹配、表达式求值(中缀表达式、后缀表达式)、递归调用等
循环队列(两种情况
输入/输出受限的双端队列⭐️
特殊矩阵的压缩存储*
树
树的高度:log2(n)+1
- 节点数等于所有节点度加一 >> 节点为n,度数和为n-1;
- 度为m的树中,第i层之多有m^(i-1)个节点
- 高度为h的m叉树至多有(m^h-1)(m-1)个节点
- 具有n个节点的m叉树最小高度为[logm( n(m-1)+1 )]上取整
二叉树特性
- n0=n2+1
- k层至多有2^(k-1)个结点
- 高度为h,至多有2^h - 1个结点
- 具有n个结点的完全二叉树高度为log2n + 1
二叉树的遍历、编码
先序、中序、后序遍历
层次遍历:利用队列实现
线索二叉树:若无左子树,令左孩子指向前驱节点;若无右子树,令右孩子指向后继节点
数的存储结构
双亲表示法:表格形式
孩子表示法:表格链表形式
孩子兄弟表示法:二叉链表进行存储
二叉排序树:从左到右大小排序
查找
插入(构造
平衡二叉树
树与森林
相互转换:根节点当做兄弟节点,再用孩子兄弟表示法
树的应用:并查集⭐️
线索二叉树(空地放前后端点链接
哈夫曼树(带权路径长度最小
哈夫曼编码:使用不等长编码,减少信息存储量;0转向左孩子,1转向右孩子
图
( , )无向图,< , >有向图
图的存储
1.邻接矩阵法:适合稠密图
2.邻接表法
3.邻接多重表、十字链表
图的遍历
深度优先搜索
广度优先搜索
图的应用
最小(代价)生成树
最小生