重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 大学本科
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

问题描述:给定一棵有向树T,树T中每个顶点u都有一个权w(u),树的每条边(u,v)也都有一个非负边长

问题描述:给定一棵有向树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.

问题描述:给定一棵有向树T,树T中每个顶点u都有一个权w(u),树的每条边(u,v)也都有一个非负边

查看答案
更多“问题描述:给定一棵有向树T,树T中每个顶点u都有一个权w(u),树的每条边(u,v)也都有一个非负边长”相关的问题

第1题

问题描述:给定一棵树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.

点击查看答案

第2题

问题描述:设T是一棵带权树,树的每条边带一个正权,S是T的项点集,T/S是从树T中将S中顶点删去后得到的森林.如果T/S中所有树的从根到叶的路长都不超过d,则称T/S是一个d森林.

①设计一个算法求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!",

点击查看答案

第3题

阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。

[说明]

HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。

构造最优二叉树的Huffman算法如下:

①根据给定的n各权值{W1,w2,…,wn)构成n棵二叉树的集合F={T1,T2,…,Tn},其中每棵树Ti中只有一个带权为wi的根节点,其左右子树均空。

②在F中选取两棵根节点的权值较小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根节点的权值为其左右予树根节点的权值之和。

③从F中删除这两棵树,同时将新得到的二叉树加入到F中。

重复②③,直到F中只剩一棵树为止。

函数中使用的预定义符号如下:

#define INT MAX 10000

#define ENCODING LENGTH 1000

typedef enum(none,left_child,right_child) Which;

/*标记是左孩子还足右孩子*/

typedef char Elemtype;

typedef struct TNode{//Huffman树节点

Elemtype letter;

int

weight; //权值

int parent; //父节点

Which sigh;

char *code; //节点对应编码

}HTNode,*HuffmanTree;

int n;

char coding[50];//储存代码

[函数]

void Select(HuffmanTree HT,int end,int *sl,int *s2)

/*在0~END之间,找出最小和次小的两个节点序号,返吲S1、S2*/

{

int i;

int min 1=INT_MAX;

int min 2=INT_MAX;

for(i=0;i<=end;i++){/*找最小的节点序号*/

if(( (1) )&&(HT[i].weight<minl)){

*s1=i;

min 1=HT[i].weight;

}

}

for(i=0;i<=end;i++){/*找次小节点的序号*/

if((HT[i].parent==0)&&( (2) )

&&(min 2>HT[i].weight)){

*s2=i;

min 2=HT[i].weight;

}

}

}

void HuffmanTreeCreat(HuffmanTree&HT)/*建立HUFFMAN树*/

{

int i;

int m=2*n-1;

int s1,s2;

for(i=n;i<m;i++){

Select( (3) );

HT[s1].parent=i;

HT[s2].parent=i;

HT[s1].sigh=left child;

HT[s2].sigh=right child;

HT[i].weight=(4);

}

}

void HuffmanTreeEncoding(char sen[],HuffmanTree HT)

{ /*将句子进行编码*/

int i=0;

int j;

while(sen[i] !='\0'){

for(j=0;j<n;j++){

if(HT[j].letter==sen[i])(/*字母吻合则用代码取代*/

strcat(coding, (5) );

break;

}

}

i++;

if (Sen [1]==32) i++;

}

printf("\n%s",coding);

}

(1)

点击查看答案

第4题

设T是一棵树,有两个顶点度数为 2,一个顶点度数为 3,三个顶点度数为 4,则T有()片树叶。

A、9

B、8

C、10

D、7

点击查看答案

第5题

如果一棵哈夫曼树T有n0个叶子结点,那么,树T有多少个结点?(要求给出求解过程)

点击查看答案

第6题

一棵无向树T有5片树叶,3个2度分支点,其余的分支点都是3度顶点,问T有几个顶点。

点击查看答案

第7题

如果一个有向图(25),则是一棵有向树。

A.恰有一个顶点的人度为0,其余顶点的人度为1

B.恰有一个顶点的人度为1,其余顶点的人度为0

C.恰有一个顶点的人度为1,其余顶点的人度为2

D.恰有一个顶点的人度为1,其余顶点的度大于1

点击查看答案

第8题

对图16.9所示的无向带权图G求一棵最小生成树T,并计算出T的权W(T)。

点击查看答案

第9题

设T为无向图G的一棵生成树,是T的余树,证明:中不含G的割集。

点击查看答案

第10题

Joseph Kruskal于1956年提出了构造极小支撑树的另一算法:

将每个顶点视作一棵树,并将所有边按权重非降排序;

依次考查各边,只要其端点分属不同的树,则引入该边,并将端点所分别归属的树合二为一;

如此迭代,直至累计已引入n-1条边时,即得到一棵极小支撑树。

试证明:

a)算法过程中所引入的每一条边,都是某一割的极短跨越边(因此亦必属于某棵极小支撑树);

b)算法过程中的任一时刻,由已引入的边所构成的森林,必是某棵极小支撑树的子图;

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案