2025.9.15——知识点学习+卷1单选
知识点学习
图
回路
起点和终点相同的路径,也叫“环”
重边
两个顶点中间不只有一条边
自环
自己到自己的边
简单图
没有重边和自环的图
完全图
每对定点之间都恰有一条边相连
稠密图
边数接近完全图,e>=NlogN
稀疏图
边数远少于完全图,e<NlogN
强连通图
针对有向图,从任意节点出发能够到达所有节点。
反之则为非强连通图。
弱连通图
针对有向图,满足非强连通图的前提下,若把所有有向边改为无向边,图是连通的。
欧拉通路
恰好通过图中所有边一次的路径
欧拉回路
恰好通过图中所有边一次的回路
欧拉图
具有欧拉回路的图
半欧拉图
不具有欧拉回路但具有欧拉通路的图
无向图判定
欧拉图:连通图中,所有节点的度数都为偶数
半欧拉图:连通图中,只有两个节点的度数为奇数,其他节点的度数都为偶数
有向图判定
欧拉图:强连通图中,所有点的入度等于出度
半欧拉图:弱连通图中,至多一个点的入度比出度大1,至多一个点的出度比入度大1,其他点的入度等于出度
哈密顿通路
通过图中所有点恰好一次的路径
哈密顿回路
通过图中所有点恰好一次的回路
哈密顿图
具有哈密顿回路的图
半哈密顿图
不具有哈密顿回路,但具有哈密顿通路的图
平面图
在一个无向图G中,各边除了顶点相交外,其余各点均不相交,称G为可平面图,简称平面图
边双连通图
任意两点间存在两条没有重复边的路径的图,称为边双连通图
等价定义:任意一条边至少在一个简单环中
点双连通图
任意两条边都在一个简单环中
树
结点的度
结点的孩子的数量
树的度
所有节点度的最大值
分支结点
度大于0的结点
祖先结点
从这个结点到根的路径中,除了它本身的所有结点
兄弟结点
具有同一个父亲的所有结点互称兄弟结点
结点高度
从结点到该节点子树中所有叶子结点的最长路径的边数
结点深度
从结点到根结点的路径的边数
结点层数
结点深度+1
树的高度
根结点的高度
树的宽度
具有最多结点数量的那一层的结点数量
完全二叉树
只有最后一层是从左到右放结点,其它层都是满的的二叉树
哈夫曼树
将一棵树的结点分为两种:
1.带权结点,度为0
2.无权结点,度为2
这棵树的带权路径长度为所有带权结点的深度(根的深度为0)乘以权值的和。
给定所有带权结点的权值,带权路径长度最小的树叫做哈夫曼树
哈夫曼树性质
1.权值越大的结点深度越小
2.哈夫曼树不唯一
3.包含n棵树的森林需要n-1次合并才能形成哈夫曼树,生成n-1个新结点
哈夫曼算法
1.将所有权值设置为只有一个带权根结点的树
2.从树的集合中选择两个根权值最小的树,以它们为左右子树生成一棵新树,根权值为左右子树权值之和
3.删去两个原来的树,加入新树
4.重复这个过程,直到只剩下一棵树
哈夫曼编码
由哈夫曼树得到的前缀编码
前缀编码:要求任意字符的编码不能是其他字符编码的前缀
树的重心
在一棵树中,去掉这个结点,剩下的所有连通块中结点数量最多的连通块的结点数量最小
这个结点就叫树的重心
计算原理与排列组合
特殊优先
优先讨论特殊要求的点的排列数量,再讨论其他点的排列数量
排序
不稳定的排序
选择排序、快速排序、堆排序
Linux指令
touch
创建文件、修改文件的时间戳
echo
用于在终端中显示文本或变量的值
rmdir
删除文件目录
编译命令
g++ -o main main.cpp
将main.cpp编译成可执行文件main
g++ -c main.cpp
将main.cpp编译成对象文件main.o
g++ -o program file1.o file2.o file3.o
将多个对象文件链接到一起,生成一个可执行文件
杂项
常用后缀名
音频:.mp3 .wav .aac .flac .ogg
视频:.avi .mpg .mov .mp4 .swf .mky .rmvb
计算机病毒的特性
1.繁殖性
2.破坏性
3.传染性
4.潜伏性
5.隐藏性
6.可触发性
前中后缀表达式
前缀表达式:波兰表达式,符号在前,数字在后,方便机器识别
中缀表达式:日常使用的表达式
后缀表达式:逆波兰表达式,数字在后
卷1单选
二进制编码
负数一般用补码存储,对绝对值取反并加1
Dijksra时间复杂度
N为节点数,M为边数
普通实现:O(NN+M)
堆优化:O((N+M)logN)
最坏情况:稠密图,M=NN

浙公网安备 33010602011771号