1、长沙民政职业技术学院教案课程名称数学应用基础课题树及其应用授课课时2课型新授课教案编号 4-3 教学目标(知识、技能、素质):1、 知识目标:掌握树的概念及破圈法、克鲁斯特尔算法的具体实施步骤,家族树、决策树的应用2、技能目标:分析解决问题的能力和严谨的逻辑思维能力3、素质目标:培养学生理性的思维方式和数学应用意识教学重点:树、根树的概念以及破圈法、克鲁斯特尔算法教学难点:决策树的应用主要教学方法:启发引导式、讲授法教学环节与内容一、问题引入树是图中一个非常重要的概念,以树为模型的应用领域非常广泛,比如计算机、化学、地理学、植物学和心理学等。引例1 (道路扫雪问题)图4-22(a)表示的是某地
2、区的6个乡镇之间的公路交通网络。在冬天为了保持道路通畅,公路部门需要经常扫雪。为了提高效率,公路部门希望只扫尽可能少的道路上的雪,但是又能确保任何两个乡镇之间都存在一条干净的道路,请问公路部门该如何设计扫雪路线?图4-22解 要设计一条扫雪路线,只需要在图4-22(a)的基础之上删掉一些边,来构建一个包含所有顶点并且边数最少的连通子图。不难发现,公路部门至少需要扫除其中5条道路上的雪,才能保证任何两个乡镇之间有一条干净的道路,其中的一个清扫方案如图4-22(b)所示。需要注意的是,图4-22(b)只是给出了一个道路条数最少的方案,如果需要求清扫总里程最短的方案,则需要进一步知道每一条道路的里程
3、信息。二、新课讲授定义1 连通而不含回路的无向图称为无向树,简称树。如果一个有向图在不考虑边的方向时是一棵树,则称这个有向图为有向树。案例1 在图4-23中哪些图是树?图4-23解 图(a)是一颗无向树,因为是无向连通图且没有回路。图(b)是一棵有向树,因为在不考虑边的方向时是一棵树,故是一棵有向树。图(c)不是树,因为存在回路,比如回路ebade。图(d)不是树,因为不是连通图。定义2 若图G的生成子图是一棵树,则称这棵树为图G的生成树。案例2 找出图4-24的一棵生成树。 图4-24解 因为树中不能含有回路的,所以要找到图的一棵生成树,就必须把图中的所有回路消除掉,可以通过删除一条回路中的
4、边来消除这条回路并且保持图是连通的。在图4-24中,首先,边ae是回路aefb的一条边,可以删除这条边来消除回路aefb,如图4-25(a)所示。其次,删除边ef,消除回路efge,如图4-25(b)。最后,删除边cg,消除回路cgfc, 如图4-25(c)。至此,图中不再包含回路,这样就得到了图4-24的一棵生成树。图4-25在消除回路的过程中,只要确保图是连通的,可以删除掉回路中的任意一条边,故一个图的生成树不唯一。例如,图4-26所示的每一棵树都是图4-24的生成树。图4-26一种寻找图的生成树的一般方法破圈法:(1)在图中找到一条回路,并把该回路中的某一条边删掉,使它不再构成回路。(2
5、)重复步骤(1),直到恰好把图中所有回路都消除掉。在实际应用中,有大量的问题需要求连通带权图的一棵生成树,使这棵生成树的各条边上的权值之和最小。定义3 对图的每一条边赋予一个实数,记为,称为边的权,而每边均赋予权的图称为带权图。定义4 带权图的总权值最小的生成树称为最小生成树。克鲁斯特尔算法的具体实施步骤:(1)去掉图中的所有边,将图置于只有n个顶点的初始状态,并将图中的边按其权值由小到大进行排序。(2)选取权值最小的边,若将该边加入到图中,不与已选取的边构成回路,则将此边加入到图中,否则舍去此边而选取下一条权值最小的边,依次类推,直到构成一棵树。案例3 一个公司计划通过租用电话线来建立一个通
6、信网络,以便连接A、B、C、D、E五个计算机中心。但是每两个计算机中心之间的电话线租用费用不相同,如图4-29所示。那么该公司应当建立哪些连接,以便保证每个计算机中心都在这个通信网络中,并且使得构建网络的总成本最小?图4-27 电话线租赁费用图解 要使得构建网络的总成本最小,实际上就是要找到一棵最小生成树。利用克鲁斯特尔算法寻找最小生成树。第一步:去掉图中的所有边,如图4-28(a)。第二步:选择权值最小的边CE添加到图中,如图4-28(b)。第三步:然后在剩下的边中,依次选取权值为800的边DE和权值为900的边AB添加进图中,如图4-28(c)。第四步:接下来,再选取权值最小的边CD,但是
7、如果选择CD的话,在图中就会形成回路,故舍弃边CD。在剩下的边中选择权值最小的边AC。 图4-28 克鲁斯特尔算法构造生成树此时,所有顶点都已经连接在图中了,图4-29(d)就是我们要找的最小生成树。对应地,连接5个计算机中心的网络总成本为700+800+900+1200=3600(元)。定义5 根树是指定一个顶点作为树根并且每条边的方向都离开根的树。通常一颗根树可以看成一颗家族树。(1)若从顶点a出发有一条边到达顶点b,则称b为a的儿子,a为b的父亲;(2)若b,c同为a的儿子,则称b,c为兄弟。根树中,没有子女的顶点称为树叶,有子女的顶点称为内点,内点和树根统称为分支点。案例4 (计算机文
8、件系统图)计算机存储器中的文件可以组织成目录,目录可以包含文件和子目录,根目录包含整个文件系统。因此,文件系统可以表示成根树,其中树根表示根目录,内点表示文件或空目录。在图4-29(1)中表示了一个这样的文件系统,在该系统中,文件khr属于目录rje。图4-30 一个计算机文件系统图在根树中,有向边的方向均一致向下,故可省略掉其方向,如图4-29中可用图(2)代替图(1)。决策树:在根树中,每个内点都对应着一次决策,这些顶点的子树都对应着该决策的每种可能后果。案例5 假定有重量相同的7枚硬币和重量较轻的一枚伪币。为了用一架天平确定这8枚硬币中哪个是伪币,需要称重多少次。解 在天平上每次称重结果
9、只有三种可能性。分别是:两个托盘有相同的重量、第一个托盘较重或第二个托盘较重。所以,称重序列的决策树是一颗3元树。在决策树里至少有8片树叶,这是因为有8种可能的后果(因为每枚硬币都可能是较轻的伪币),而每种可能的后果必须至少用一片树叶来表示。接下来,我们建立如图4-30所示的决策树。图4-30 找出伪币位置的决策树从图4-30中,我们可以很容易发现,用两次称重就可以确定哪枚硬币是伪币。案例6 有三个数a、b、c,如何建立决策树来给这三个数按从大到小排序。解 两个数a、b比较大小只有两种可能的情况:a大或者b大;这也就是说每次决策都会出现两种可能的情况,依此,我们可以建立如图4-31所示的决策树。图4-31 排序三个不同元素的决策树从图4-31中,我们可以看到a、b、c三个数排序的六种可能的排序结果。在决策过程中,最好的情况是只需要做两次决策就能给这3个数排序,最坏的情况是需要做3次决策才能给这3个数排序。课后小记