合成数(composite number)法,是消除图算法岐义性的一种通用方法。首先,在顶点的标识之间约定某一次序。比如,顶点标识为整数或字符时,可直接以整数或字符为序;对于字符串等标识,不妨按字典序排列。于是,若边(v,u)权重为w,则对应的合成数取作向量:(w,min(v,u),max(v,u))。如此,任何两条边总能明确地依照字典序比较出大小。
试在6.11.5节Prim算法和6.12.2节Dijkstra算法中引入这一方法,以消除其中的歧义性。
最小生成树
A.Prim算法:
procedure prim(v0:integer);
var
lowcost,closest:array[1..maxn] of integer;
i,j,k,min:integer;
A.货郎担问题是求取具有最大成本的周游路线问题
B.货郎担问题适合使用贪心算法求问题的最优解
C.货郎担问题存在多项式时间算法
D.货郎担问题可以通过动态规划算法实现
A.优先队列Q中顶点的键值指这个顶点与A集合中点的最小权边的权重
B.从Q中取出一个顶点的实质是在应用MST性质选择连接A与VA的最小权边
C.算法执行结束后,生成树有n-1个顶点
D.算法以优先队列为空为结束条件
A.Prim A=x+y
B.Print "A=";x+y
C.Print "A=" +str(x+y)
D.Print "A="&X+y