设图G顶点数据的类型是整型,边上权值的数据类型是浮点型,编写一个算法,不使用最小堆实现Prim算法,从顶点v开始构造带权有向图的最小生成树.
第1题
设图G是一个有向图,设顶点值为字符型,边上权值为浮点型,其十字链表的存储表示定义如下:
(1)实现图的构造函数Graphmu1.输人-系列顶点和边,建立带权有向图的十字链表。
(2)编写一个算法,基丁图G的十字链表表示求该图的强连通分量,试分析算法的时间复杂度。
(3)以图846为例,画出它的十字链表,第一次深度优先搜索得到的finished数组及最后得到的强连通分量。
第2题
在以下假设下,重写Djkstra算法:
(1)用邻接表表示有向带权图G,其中每个边结点有3个域:邻接顶点vertex,边上的权值length和边链表的链接指针link
(2)用集合T=V(G)-S代替S(已找到最短路径的顶点集合),利用链表来表示集合T。
试比较新算法与原来的算法,计算时间是快了还是慢了,给出定量的比较。
第3题
A.根据边的权值进行hash并对Worker数取模
B.完全随即分配
C.根据顶点ID的hash值对Worker数取模
D.按照点ID值排序,再平均分配给Worker
第4题
问题描述:给定一个无向图G=(V.E),设是G的顶点集.对任意,若u∈U且v∈V-U,就称(u,1)为关于顶点集U的条割边.顶点集U的所有割边构成图G的一个割.G的最大割是指G中所含边数最多的割.
算法设计:对于给定的无向图G,设计一个优先队列式分支限界法,计算G的最大割.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,...,n.接下来的m行中,每行有2个正整数u和y,表示图G的一条边(u,v).
结果输出:将计算的最大割的边数和顶点集U输出到文件output.txt.文件的第1行是最大割的边数;第2行是表示顶点集U的向量x(1≤i≤n),x=0表示顶点i不在项点集U中,x=1表示顶点i在顶点集U中.
第6题
不相交的子集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不包含奇数条边的回路时.它是二部图。
第7题
间的一条最短路径,假设从初始顶点到目标顶点之间存在路径。现有一种解决该问题的方法:
(1)设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点;
(2)选择离u最近且尚未在最短路径中的一个顶点v,加人到最短路径中,并修改当前结点u=v;
(3)重复步骤(2),直到u是目标顶点时为止。
请问上述方法能否求解最短路径?若该方法可行,请证明之;否则请举例说明。
第8题
问题描述:给定一棵树T,树中每个顶点u都有权值w(u),可以是负数.现在要找到树T的一个连通子图使该子图的权值和最大.
算法设计:对于给定的树T,计算树T的最大连通分支.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n,表示树T有n个顶点.树T的顶点编号为1,2,...,n.第2行有n个整数,表示n个顶点的权值.接下来的n-1行中,每行有表示树T的一条边的2个整数u和v,表示顶点u与顶点v相连.
结果输出:将计算出的最大连通分支的权值输出到文件output.txt.
第9题
A.HBase数据库是列族数据库,可扩展性强,支持事务一致性
B.文档数据库的数据是松散的,XML和JSON文档等都可以作为数据存储在文档数据库中
C.键值数据库的键是一个字符串对象,值可以是任意类型的数据,比如整型和字符型等
D.图数据库灵活性高,支持复杂的图算法,可用于构建复杂的关系图谱