2.3 生成树
- 格式:ppt
- 大小:767.00 KB
- 文档页数:10
主 题: 《数据结构》学习笔记内 容:《数据结构》学习笔记五——图一、图的概念:1、术语:有向图,无向图,子图,顶点,边,弧,邻接点,出度,入度,路径,连通图。
2、图的存储:2.1邻接矩阵:0 1 1 0 0 1 0 1 00 0 0 0 1 0 1 0 10 0 0 1 0 1 0 1 11 0 0 0 1 0 1 0 00 1 1 0 02.2邻接表:2 3 ^4 ^1 ^Struct node{int data;struct node *next;}struct node V[n+1];3、程序:3.1已知邻接表,建立邻接矩阵。
{……for(I=1;I<=n;I++)for(j=1;j<=n;j++)w[I][j]=0;for(I=1;I<=n;I++){p=v[I].next;while(p){j=p->data;w[I][j]=1;p=p->next;}}}3.2已知邻接矩阵,建立邻接表。
{……for(I=1;I<=n;I++)v[I].next=0;for(I=1;I<=n;I++)for(j=1;j<=n;j++)if (w[I][j]= =1){p=(……)malloc(……);p->data=j;p->next=v[I].next;v[I].next=p;}}1、广度优先遍历1.1作法:(i)初始化(打印,加标记,进队)(ii)出队.(J)(iii)扫描(J)链,遇未访问点,则打印,加标记,进队.返回ii,直至队空.1.2 结果:2、深度优先遍历:2.1作法:从某点进入,打印,加标记,扫描此链:如没遇到未访问点,则返到原转来点.算法结束于进入点那个链的链尾.2.2 结果:1,2,4,8,5,3,6,73、广度优先程序:bfs(I)int I;{……f=0; r=0;for(t=1;t<=n;t++)v[t].data=0;printf(“%d”,I);v[I].data=1;r++; q[r]=I;while(f!=r){f++; j=q[f];p=v[j].next;while(p){k=p->data;if(v[k].data= =0){printf(“%d”,k);v[k].data=1;r++;q[r]=k;}p=p->next;}}}4、深度优先程序:dfs(I)int I;{……v[I].data=1;printf(“%d”,I);p=v[I].next;while(p){j=p->data;if(v[j].data= =0)dfs(j);p=p->next;}}三、最小生成树:1、解法11.1问题:选哪几条边,使得(I)能连到各点(II)边长之和最小?1.2思路:i. 从当前点集的发出边中选最小者,打印。
生成树的名词解释生成树(Spanning Tree)是图论中的一个重要概念,用来描述在一个无向连通图中连接所有顶点的极小连通子图。
在一个无向连通图中,如果能够找到一颗包含所有顶点且边数最少的子图,那么这个子图就是该图的生成树。
生成树的概念最早由Otto Schönflies于1885年提出,并且在图论研究和实际应用中得到了广泛的运用。
生成树在电网规划、通信网络设计、计算机网络以及城市交通规划等领域都有着重要的应用价值。
生成树的定义可以用简洁的方式表述:在一个无向连通图中,生成树是保留了原图的所有顶点,但只保留了足够的边来使得这个子图连通,并且不包含任何环的一种连通子图。
换句话说,生成树是一个无向连通图中的极小连通子图,它连接了所有的顶点,并且不存在回路。
生成树具有很多重要的性质和应用。
首先,生成树的边数比原图的顶点数少一个。
这是因为生成树是一个连通子图,而且不包含任何环。
因此,生成树中的边数等于原图的顶点数减去1。
这个性质经常用于生成树的构造和推导。
其次,生成树可以用于表示图中的最小连接网络。
在一个无向连通图中,如果存在多个连通子图,那么通过连接这些子图的最少的边,就可以得到一个生成树。
这个生成树可以看作是一个最小的连通网络,其中所有顶点都能够通过最短路径相互到达。
此外,生成树还可以用于网络设计和优化问题。
在电网规划、通信网络设计和计算机网络中,生成树常常被用于实现信息的传输和路由的优化。
通过构造合适的生成树,可以使得信息的传输路径更加简洁和高效。
生成树有多种构造算法,其中最常用的是Prim算法和Kruskal算法。
Prim算法是一种贪心算法,它从一个任意选定的顶点开始,逐步构建生成树。
具体地,Prim算法每次选择与已有的生成树连接边权值最小的顶点,并将其加入生成树。
重复这个过程,直到生成树包含了所有的顶点。
Kruskal算法是一种基于边的方法,它首先将图中的边按照权值从小到大排序,然后依次将边加入生成树,直到生成树包含了所有的顶点为止。
生成树协议(STP)在计算机网络中的应用1. 引言1.1 引言生成树协议(STP)是计算机网络中一个重要的协议,它被广泛应用于以太网LAN 中,用来避免网络环路的产生,提高网络的可靠性,优化网络带宽的利用,以及支持网络的快速恢复。
在现代网络架构中,STP扮演着至关重要的角色,保障了网络的稳定运行和高效传输。
本文将详细探讨生成树协议在计算机网络中的应用,从其如何避免网络环路的产生、如何提高网络的可靠性、如何优化网络带宽的利用,以及如何支持网络的快速恢复等方面展开讨论。
通过深入分析STP的工作原理和应用场景,读者将更加深入了解这一协议的重要性和价值。
在现代网络环境下,随着数据量不断增加和对网络稳定性要求日益提高,STP的作用变得愈发重要。
通过学习和理解STP的应用,可以帮助网络管理员更好地管理网络拓扑结构,确保网络的高可靠性和高性能。
在本文的后续部分中,我们将更详细地探讨STP在计算机网络中的具体应用,希望能对读者有所启发和帮助。
2. 正文2.1 生成树协议(STP)在计算机网络中的应用生成树协议(STP)是一种用于计算机网络中的链路层通信协议,用于避免网络环路的产生,并提高网络的可靠性、优化网络带宽的利用和支持网络的快速恢复。
STP通过计算网络拓扑中的最小生成树来选择一条主干链路,使得网络中所有的交换机都能通过这条链路进行通信,从而避免网络中出现环路。
在计算机网络中,STP的应用非常广泛。
它可以确保网络中数据包的顺利传输,避免数据包在网络中无法到达目的地或造成数据包重复传输的情况。
通过STP,网络管理员可以配置网络拓扑,确保网络中所有的交换机都能按照同一个最小生成树来进行通信,从而保证网络的稳定性。
此外,STP还能提高网络的可靠性。
当网络中出现故障或链路故障时,STP能够及时检测到故障点,并重新计算最小生成树,选择新的主干链路,保证网络的正常运行。
这样,即使网络中某个链路出现问题,整个网络仍可以继续正常工作。
生成树协议:(三层交换机与二层交换机下配置)1、Switch(config)#spanning-tree2、Switch(config)#spanning-tree mode rstp3、Switch(config)#spanning-tree pri 0 根协议注:第3步在二层交换机中不用做,只需在三层交换机上做就可以了。
在三层交换机上配置路由功能:1、Switch(config)#ip routing 开启路由功能2、Switch(config)#ip default-gateway 192.168.56.1 设置默认网关安全地址绑定:Switch(config)#interface fastethernet 0/1Switch(config-if)#switchport mode accessSwitch(config-if)#no shutdownSwitch(config-if)#switchport port-securitySwitch(config-if)#switchport port-security mac-address 0017.816D.AF10 ip-address 192.168.2.3 IP与MAC地址绑定(手工配置)Switch(config-if)#no shutdown启动网络诊断程序来诊断本地网络:1、开始运行cmd 输入“netsh”,按“Enter”键,进入“netsh >”提示符状态中。
在“netsh >”提示符状态后输入“diag”,按“Eneter”键,进入“netsh diag >”提示符状态中。
2、接着在“netsh diag > ”提示符状态后输入“gui”,按“Enetsh”键,即可启用网络诊断。
3、先单击“设置扫描选项”选项,展开网络诊断设置选项。
4、用户在下面的选项中选中要进行网络诊断的选项,点击“保存选项”按钮,即可将设置选项保存。
近期自己在学习生成树,有了一点小小的认识,记下此文档,也是为了避免自己以后忘记。
一、生成树作用生成树,(spanning-tree protocol,简称STP协议),主要是用于防止二层环路。
相关的资料在网上已经很多了,不再赘述。
二、生成树的选举2.1BPDUBPDU的数据包中主要4个方面的内容:根网桥的BID、cost值、网桥的BID、端口ID。
下面是BPDU的截图:2.2交换机角色1)根交换机,有且只有一个根,最低的桥ID(优先级+MAC地址)(扩展BID:优先级+VLAN +MAC地址),见下面BPDU的截图:2)非根交换机:其余交换机,就是非根交换机2.3端口角色生成树中交换机之间相互连接的交换机端口角色:1.根端口:a)非根桥有且只有一个根端口:要拥有去往根桥的最低成本,成本与链路带宽有关系(10M cost:100, 100M:19, Gi: 4; 10G:1)b)要拥有最低的Brige ID(比Brigde ID,是比对端交换机的Brigde-ID,比的是接收到的BPDU的Bridge-ID)c)要拥有最低的Port ID(比端口ID,Port-ID,比的是对端的Port-ID)2.指定端口:每个链路段只且只有一个指定端口:a)要拥有去往根桥的最低成本,成本与链路带宽有关系(10M cost:100, 100M:19, Gi: 4;10G:1)b)要拥有最低的Brige ID(注意:这个Bridge ID是自己要从这个端口发出去的BPDU的Bridge ID,即两台交换机自身的Bridge-ID作对比)c)要拥有最低的Port ID(比Port ID,是拿自己接收到的BPDU中的Port ID来比,因此,比的是对端连接的Port-ID)3.既不是指定端口,又不是根端口的端口是阻塞端口:(往往位于冗余链路上)三、例子讲解3.1例子一S0:0010.117B.DB92S1:00D0.FFE3.8BB8S2:0001.C994.6402【其它】1.所有交换机均属于VLAN1;2.所有接口均是FastEthernet;3.所有交换机均未修改优先级,均为默认优先级:32768【分析思路】1.选举根网桥时,需要比较各自的BPDU。