当前位置:网站首页>【离散数学期复习系列】六、树
【离散数学期复习系列】六、树
2022-06-10 14:01:00 【猿来是你呀&】
1.什么是树?
无向树(树):不含回路的连通无向图
森林:每个连通分支均是树的非连通无向图
平凡树:平凡图
树叶:树中度数为1的顶点
分支点:树中度数大于等于2的顶点,也就是根节点和内点
2.树的相关性质
设G=<V,E>,|V|=n,|E|=m,则下面各命题是等价的:
(1)G连通且不含回路;
(2)G的每对顶点之间有唯一的一条路径; ‘
(3)G是连通的且m=n-1;
(4)G中无回路且m=n-1;
(5)G中无回路,但在任两个不相邻的顶点之间增加一条边,就形成唯一的一条初级回路;
(6)G是连通的且每条边都是桥.
3.树的相关定理
n阶非平凡的树中至少有2片树叶
证明:非平凡树,每个顶点度数都大于等于1,
设有k片树叶,m=n-1
根据握手定理2m>=k*1+(n-k)*2k>=2
4.生成树
(1)生成树:设G=<V,E>是无向连通图,T是G的生成子图并且是树,则称T是G的生成树
G在T中的边称为T的树枝,不在T中的边称为T的弦.
T的所有弦的集合的导出子图称为T的余树(余树不一定是树,也不一定连通)
(2)设n阶连通无向图有m条边,则它的生成树有n一1条边,余树有m-n十1条边.
5.生成树的性质
(1)任何无向连通图都有生成树,只要是连通图就有树
(2)推论:设n阶无向连通图G有m条边,则m>=n-1.(未破圈之前)
6.弦的回路
基本回路:设T是连通图G=<V,E>的一棵生成树,对每一条弦e,存在唯一的由弦e和T的树枝构成的初级回路Ce, 称Ce为对应于弦e的基本回路.
基本回路系统:所有基本回路的集合为对应生成树T的基本回路系统基本回路的个数都等于m-n+1(就是余数的边数)
7.最小生成树
(1)设T是无向连通带权图G=<V,E,W>的生成树,T中所有边的权之和称为T的权,记作W(T).
(2)最小生成树: 带权图权最小的生成树
(3)最小生成树问题是:求任给的无向连通带权图的最小生成树:
求最小生成树的算法:
破圈法:去掉无向连通图中每个回路中的权值最大的边
避圈法 (Kruskal 库斯克算法) —求最小生成树的算法
1)将每条边按权值大小从小到大排列
2)按从小到大依次选取,若形成环则舍去当前选择的边,直到选n-1条边
8.有向树
有向树: 基图为无向树的有向图
根树: 有一个顶点入度为0, 其余的入度均为1的
非平凡的有向树
树根: 有向树中入度为0的顶点
树叶: 有向树中入度为1, 出度为0的顶点
内点: 有向树中入度为1, 出度大于0的顶点
分支点: 出度大于1的点,树根与内点的总称
顶点v的层数: 从树根到v的通路长度(树根为0层)
树高: 有向树中顶点的最大层数
9.家族树:
(1) 若顶点 a 邻接到顶点 b, 则称 b 是 a 的儿子, a是b 的父亲;
(2) 若b和c为同一个顶点的儿子, 则称b和c是兄弟;
(3) 若a≠b且a可达b, 则称a是b的祖先, b是a的后代.
(4)父亲也可以是儿子的祖先
10.根子树:设v为根树的一个顶点且不是树根, 称v及其所有后代的导出子图为以v为根的根子树.
11.有序树: 将根树同层上的顶点规定次序
r叉树:根树的每个分支点至多有r个儿子
r叉正则树: 根树的每个分支点恰有r个儿子
r叉完全正则树: 树叶层数相同的r叉正则树
r叉有序树: 有序的r叉树
r叉正则有序树: 有序的r叉正则树
r叉完全正则有序树: 有序的r叉完全正则树
12.最优二叉树
设2叉树T有t片树叶v1, v2, …, vt, 树叶的权分别为w1, w2, …, wt, 称为T的权, 其中
l(vi)是vi的层数. 在所有权为w1, w2, …, wt 的t片树叶的2叉树中, 权最小的2叉树称为最优2叉树.

最优二叉树的总权=为各顶点的权值与层数乘积之和
求最优2叉树的算法
Huffman(哈夫曼)算法:
给定实数w1, w2, …, wt ,
① 作t片树叶, 分别以w1, w2, …, wt为权.
② 在所有入度为0的顶点(不一定是树叶)中选出两个权最小的顶点, 添加一个新分支点, 以这2个顶点为儿子, 其权等于这2个儿子的权之和.
③ 重复②, 直到只有1个入度为0 的顶点为止.
W(T)等于:
1.所有分支点的权之和
或 2.树叶权值乘以层数之和
13.设a =α1α2…αn-1αn是长度为n的符号串
α的前缀: α1α2…αk , k=1,2,…,n-1,n
前缀码: {β1, β2, …, βm}, 其中β1, β2, …, βm为非空字符串, 且任何两个互不为前缀
2元前缀码: 只有两个符号(如0与1)的前缀码xβα
{0,10,110, 1111}, {10,01,001,110}是2元前缀码 {0,10,010, 1010} 不是前缀码
一棵2叉树产生一个二元前缀码:
对每个分支点, 若关联2条边, 则给左边标0, 右边标1;若只关联1条边, 则可以给它标0(看作左边), 也可以标1(看作右边). 将从树根到每一片树叶的通路上标的数字组成的字符串记在树叶处, 所得的字符串构成一个前缀码.
在这里插入图片描述
最佳2元前缀码:设要传输的电文中含有t个字符, 字符ai出现的频率为pi , 它的编码的长 度为li , 那么n个字符的电文的编码的期望长度是
在这里插入图片描述
称编码期望长度最小的2元前缀码为最佳2元前缀码.

边栏推荐
- [raise bar C #] how to call the base of the interface
- Flutter 页面跳转 传参,TabBar学习总结5
- 智慧校园安全通道及视频监控解决方案
- 2022 high frequency software test interview questions of large factories (with answers)
- [vue/js] realize local caching of variables and objects through localstorage browser (text + full source code)
- Kotlin 冒泡算法 ,高德地图 过滤掉两点之间距离小于50的数据,不重复显示
- 还在说大学排名是笑话?最新规定:世界top50大学可以直接落户上海!
- 在启牛开户安全么
- Flutter学习个人总结1
- Kotlin bubbling algorithm, Gaud map filters out the data whose distance between two points is less than 50, and does not repeat the display
猜你喜欢

传奇登录器提示连接服务器失败是怎么回事?怎么解决?

UE5如何將屏幕坐標轉為世界坐標和世界方向

【技术分析】探讨大世界游戏的制作流程及技术——前期流程篇

Gree mobile phone challenge Apple mobile phone? I'm afraid there's nothing else but hard talk
![[technical analysis] discuss the production process and technology of big world games - preliminary process](/img/8d/52cb98a617f690df310d6de5512ebc.png)
[technical analysis] discuss the production process and technology of big world games - preliminary process

The shortcomings of the "big model" and the strengths of the "knowledge map"

Ue5 Comment convertir les coordonnées de l'écran en coordonnées du monde et en direction du monde

Google Earth Engine(GEE)——基于s2影像的实时全球10米土地利用/土地覆盖(LULC)数据集

anaconda安装opencv(cv2),在jupyter notebook中使用

Mmdetection adds precision to the evaluation index
随机推荐
anaconda安装opencv(cv2),在jupyter notebook中使用
【云计算】多云管理平台和公有云两者之间是啥关系?
Leetcode 829. 连续整数求和
Microsoft Word 教程,如何在 Word 中更改页边距、创建新闻稿栏?
五角大楼首次承认资助46个乌生物设施 俄方曾曝只有3个安全
[notes] notes on C language array pointer, structure + two-dimensional array pointer
【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结
Solve the problem of cross sea high concurrent crash? so easy
[untitled]
如何写一个全局的 Notice 组件?
2022大厂高频软件测试面试真题(附答案)
leetcode-57-插入区间
jdbc对数据库增删改查
【解决】每次加载已经训练好的模型,生成的向量会有不同
大厂面试上午10:00面试,10:09就出来了 ,问的实在是太...
Ten easy-to-use cross browser testing tools to share, good things worth collecting
Kotlin practises. Take login as an example. Anko simply uses it
Gree mobile phone challenge Apple mobile phone? I'm afraid there's nothing else but hard talk
Flutter Wrap Button bottomNavigationBar学习总结4
Cardview usage and properties