①设计一个算法求T的最小顶点集S,使T/S是d森林(从叶向根移动).
②分析算法的正确性和计算复杂性.
③设T中有n个顶点,则算法的计算时间复杂性应为O(n)
算法设计:对于给定的带权树,计算最小分离集S.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n,表示给定的带权树有n个项点,编号为1,2,...,n.编号为1的顶点是树根.接下来的n行中,第计1行描述与i个项点相关联的边的信息.每行的第1个正整数k表示与该项点相关联的边数.其后2k个数中,每2个数表示1条边.第1个数是与该顶点相关联的另一个顶点的编号,第2个数是边权值.k=0,表示相应的结点是叶结点.文件的最后一行是正整数d,表示森林中所有树的从根到叶的路长都不超过d.
结果输出:将计算的最小分离集s的顶点数输出到文件output.txt.如果无法得到所要求的d森林则输出“NoSolution!",
设二元树t有t片树叶,v1,v2...vt权分别为w1,w2,...wt层深(根到叶的路径长)分为称为T的权,权最小的二元树称为最优二元树.求最优二元树的夫曼算法如下:
给定实数w1,w2,...,wt且w1≤w2≤,...,wt.
(1)连接权为w1,w2的两片树叶,得-一个分支点,其权为w1+w2.
(2)在w1+w2,...,w3,...,wt中选出两个最小的权,连接它们对应的结点(不一定是树叶),得新支点及所带的权.
(3)重复(2),直到形成t-1个分支点,t片树叶为止.
使用哈夫曼算法求带权2,2,3,3,5的最优二元树.
A.Q、W、E、R、T、Y、U、I
B.A、S、D、、F、G、H、J、K
C.A、S、D、F、J、K、L
D.E、R、T、Y、U、I、O、P
1 . 默认情况下,不属于E x c e l 已定义填充序列的有() 。
A .A ,B ,C ,D ,E ,F ,G
B .M O N ,T U E ,W E D ,T H U ,F R l ,S A T
C . S U N D A Y , M O N D A Y , T U E S D A Y , W E D N E S D A Y , T H U R S D A Y , F R I D A Y , S A T — U R D A Y
D .星期日,星期一,星期二,星期三,星期四,星期五,星期六
构造有限状态机M=(Q,S,R,f,g,q1),其中,S=R={0,1,2,3}.对于t>2有r(t)=m(t)+n(t),这里如果s(-1)=s(0)=0,确定r(1)和r(2)。
A.5236t
B.6748t
C.6931t
D.12167t