Prim算法和Kruscal算法都是无向连通网的最小生成树的算法,Prim算法从一 个顶点开始,每次从剩余的顶点加入一个顶点,该顶点与当前生成树中的顶占的连边权重 最小,直到得到最小生成树开始,Kruscal算法从权重最小的边开始,每次从不在当前的生成树顶点之间的边中选择权重最小的边加入,直到得到一颗最小生成树,这两个算法都采用了( )设计策略,且( )。
A.分治 B.贪心 C.动态规划 D.回溯 A.若网较稠密,则Prim算法更好 B.两个算法得到的最小生成树是一样的 C.Prim算法比Kruscal算法效率更高 D.Kruscal算法比Prim算法效率更高
第1题:
下面哪些使用的不是贪心算法()
A.单源最短路径中的Dijkstra算法
B.最小生成树的Prim算法
C.最小生成树的Kruskal算法
D.计算每对顶点最短路径的Floyd-Warshall算法
第2题:
A、深度优先搜索算法
B、广度优先搜索算法
C、求最小生成树的prim算法
D、拓扑排序算法
第3题:
A.O(n)
B.O(n²)
C.O(e)
D.O(eloge)
F.O(e²)
第4题:
第5题:
第6题:
第7题:
对于一个带权连通图,在什么情况下,利用普里姆(Prim)算法与利用克鲁斯卡尔(Kruskal)算法可能生成不同的最小生成树?
第8题:
对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal算法求最小生成树的时间复杂度为()。
第9题:
对于含有N个顶点E条边的无向连通图,利用Kruskal算法生成最小代价生成树的时间复杂度为()。
第10题:
第11题:
第12题:
第13题:
A.Prim算法
B、Kruskal算法
C.Floyd算法
D、Dijkstra算法
第14题:
A.完全图
B.连通图
C.稀疏图
D.稠密图
第15题:
最小生成树
A.Prim算法:
procedure prim(v0:integer);
var
lowcost,closest:array[1..maxn] of integer;
i,j,k,min:integer;
begin
for i:=1 to n do begin
lowcost[i]:=cost[v0,i];
closest[i]:=v0;
end;
for i:=1 to n-1 do begin
{寻找离生成树最近的未加入顶点k}
min:=maxlongint;
for j:=1 to n do
if (lowcost[j]<min) and (lowcost[j]<>0) then begin
min:=lowcost[j];
k:=j;
end;
lowcost[k]:=0; {将顶点k加入生成树}
{生成树中增加一条新的边k到closest[k]}
{修正各点的lowcost和closest值}
for j:=1 to n do
if cost[k,j]<lwocost[j] then begin
lowcost[j]:=cost[k,j];
closest[j]:=k;
end;
end;
end;{prim}
第16题:
第17题:
第18题:
第19题:
下面()算法适合构造一个稠密图G的最小生成树。
第20题:
Prim算法和Dijkstra算法选择下一个节点的标准分别是什么?对于有负边的无向图,Prim算法和Dijkstra算法还能保证获得最优解吗?
第21题:
第22题:
O(n)
O(n+e)
O(n2)
O(n3)
第23题:
Prim算法
Kruskal算法
Floyd算法
Dijkstra算法