设图G是一个有向图,设顶点值为字符型,边上权值为浮点型,其十字链表的存储表示定义如下:
(1)实现图的构造函数Graphmu1.输人-系列顶点和边,建立带权有向图的十字链表。
(2)编写一个算法,基丁图G的十字链表表示求该图的强连通分量,试分析算法的时间复杂度。
(3)以图846为例,画出它的十字链表,第一次深度优先搜索得到的finished数组及最后得到的强连通分量。
为,这里的路径长度是指路径中所含的边数。编写一个算法求T的直径、并分析算法的时间复杂度。
一次。
(l)试证明一个有向图存在欧拉回路的充要条件是该图必须是强连通的且每一个顶点有相同的人度与出度;
(2)设图中的顶点数为n,试描述有向图的数据结构并编写一个时间复杂性为O(n)的算法,在有向图中查找一条欧拉回路(如果它存在).
不相交的子集A和B=V-A,并且这两个子集具有下列性质:
(a)A中任何两个顶点在G中都不是相互邻接的;(b)B中任何两个顶点在G中都不是相互邻接的。例如,图8-34就是二部图。对V(G)的一个划分可能是A=(0,3,4,6)和B=(1,2,5,7).
(1)试编写一个算法,判断图G是否是二部图。如果图G是二部图,则你的算法应当把项点划分成为具有上述性质的两个互不相交的子集A和B。证明:当用邻接表表示图G时,这个算法的复杂度可以做到O(n+e)。其中n是图G的顶点个数,e是边数。
(2)证明:任何-棵树都是二部图
(3)证明:当且仅当图G不包含奇数条边的回路时.它是二部图。
点到某一指定顶点v的最短路径,例如,对于图8-47(a)所示的带权有向图,用该算法求得的从各顶点到顶点2的最短路径如图8-47(b)所示.
关于最短路径的读法以顶点0为例,在从顶点0到顶点2的最短路径上,顶点0的后继为顶点1(即path[0]=1),顶点1的后继为顶点3(即path[1]=3),顶点3的后继顶点为2(即path[3]=2).
编写一个算法,求解一个带权有向图的单目标最短路径问题。假设图G的顶点数据的类型为char,边上权值的数据类型为float。
已知设,将它们相乘得到f(t)=g(t)s(t),若f(t)通过一个特性如题5-10中图5-9所示的理想带通滤波器,求输出信号f1(t)之表示式.