在具有n(n≥1)个结点的k叉树中,有()个空指针。
A、k×n+1
B、(k-1)×n+1
C、k×n-1
D、k×n
A、k×n+1
B、(k-1)×n+1
C、k×n-1
D、k×n
a)图7-21中的边能剖分为两条路(边不相重),试给出这样的剖分。
b)设G是一个具有k个奇数度结点(k>0)的连通图,证明在G中的边能剖分为k/2条路(边不相重)。
c)设G是一个具有k个奇数度结点的图,问最少加几条边到G中,而使所得的图有一条欧拉回路,说明对于图7-21如何能做到这一点。
d)在c)中如果只允许加平行于G中已存在的边,问最少加几条边到G中,使所得的图中有一条欧拉回路,这事总能做到吗?叙述能做到这事的充分必要条件。
设单链表中结点的结构为:
在一个具有n个结点的单链表中插人一个新结点,并可以不保持原有顺序的算法的时间复杂度是().
A、O(1)
B、O(n)
C、O(n2)
D、O(nlog2n)
A、R[(i-1)/2]
B、R[i/2]
C、R[n/2-1]
D、R[n/2]
圆排列问题描述如下:给定n个大小不等的圆,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切.圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列.例如,当n=3,且所给的3个圆的半径分别为1、1、2时,这3个圆的最小长度的圆排列见图5-9,其最小长度为.
算法设计:对于给定的n个圆,计算最小长度圆排列.
数据输入:由文件input.txt提供输入数据.文件的第1行是1个正整数n,表示有n个圆.第2行有n个正数,分别表示n个圆的半径.
结果输出:将计算的最小长度输出到文件output.txt.文件的第1行是最小长度,保留5位小数.
问题描述:给定一棵有向树T,树T中每个顶点u都有一个权w(u),树的每条边(u,v)也都有一个非负边长d(u,v).有向树T的每个顶点u可以看作客户,其服务需求量为w(u).
每条边(u,v)的边长d(u,v)可以看作运输费用.如果在顶点u处未设置服务机构,则将顶点u处的服务需求沿有向树的边(u,v)转移到顶点v处服务机构所需付出的服务转移费用为w(u).d(u,v).树根处已设置了服务机构,现在要在树T中增设k处服务机构,使得整棵树T的服务转移费用最小.
算法设计:对于给定的有向树T,计算在树T中增设k处服务机构的最小服务转移费用.数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和k.n表示有向树T的边数,k是要增设的服务机构数.有向树T的顶点编号为0,1,...,n.根结点编号为0.在接下来的n行中,每行有表示有向树T的一条有向边的3个整数.第i+1行的3个整数wi、vi、di,分别表示编号为i的顶点的权为wi,相应的有向边为(i,vi),其边长为di.
结果输出:将计算的最小服务转移费用输出到文件output.txt.