题目内容 (请给出正确答案)
[主观题]

给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的mj表示这条道路的长

度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。【中国矿业大学2000十五(15分)】

给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的mj表示这条道路的长

答案
用Floyd算法求出每一顶点(村庄)到其他顶点(村庄)的最短路径。在每个顶点到其他顶点的最短路径中选出最长的一条。因为有n个顶点所以有n条在这n条最长路径中找出最短一条它的出发点(村庄)就是医院应建立的村庄。核心语句段如下: for(i=1; ic:n;i++) //求最长路径中最短的一条m记最长路径初始为机内最大整数 {s=0; for(j=1;j<=n;J++) //求从某村庄i(1<=ic=n)到其他村庄的最长路径 if(w[i][j]>s)s=w[i
用Floyd算法求出每一顶点(村庄)到其他顶点(村庄)的最短路径。在每个顶点到其他顶点的最短路径中,选出最长的一条。因为有n个顶点,所以有n条,在这n条最长路径中找出最短一条,它的出发点(村庄)就是医院应建立的村庄。核心语句段如下:for(i=1;ic:n;i++)//求最长路径中最短的一条,m记最长路径,初始为机内最大整数{s=0;for(j=1;j<=n;J++)//求从某村庄i(1<=ic=n)到其他村庄的最长路径if(w[i][j]>s)s=w[i
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i…”相关的问题

第1题

给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的mj表示这条道路的长
度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。【中国矿业大学2000十五(15分)】

给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的mj表示这条道路的长

点击查看答案

第2题

给定n个小区之问的交通图,若小区i与小区j之间有路可通,则将顶点i与顶点j之间用边连接,边上的
权值wij表示这条道路的长度。现在打算在这n个小区中选定一个小区建一所医院,试问这家医院应建在哪个小区,才能使距离医院最远的小区到医院的路程尽可能缩短?试设计一个算法解决上述问题.

点击查看答案

第3题

给定n个小区之间的交通图,若小区i和小区j之间有直达道路,则将顶点i和顶点j用边连接,边上面的权重表示该条道路的长度。现在要从这n个小区中选择一个建立一所大型超市,问选哪个小区才能使得离超市最远的小区到达超市的路程最短?设计一个解答上述问题的算法,并给出具体的实例。
点击查看答案

第4题

问题描述:长江游艇俱乐部在长江上设置了n个游艇出租站1,2,...,n.游客可在这些游艇出租站租用游
艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i到游艇出租站j之间的租金为r(i,j)(1≤i<j≤n).试设计一个算法,计算出从游艇出租站I到游艇出租站n所需的最少租金.

算法设计:对于给定的游艇出租站i到游艇出租站j之间的租金为r(i,j)(1≤i

数据输入:由文件input.txt提供输入数据.文件的第1行中有1个正整数n(n≤200),表示有n个游艇出租站.接下来的n-1行是r(i,j)(1≤i<j≤n).

结果输出:将计算出的从游艇出租站I到游艇出租站n所法的最少租金输出到文件output.txt.

问题描述:长江游艇俱乐部在长江上设置了n个游艇出租站1,2,...,n.游客可在这些游艇出租站租用游

点击查看答案

第5题

问题描述:假设要将一组元件安装在一块线路板上.为此需要设计一个线路板布线方案.各元件的连线
数由连线矩阵conn给出.元件i和元件j之间的连线数为conn(i,j).如果将元件i安装在线路板上位置r处,而将元件j安装在线路板上位置s处,则元件i和元件j之间的距离为dist(r,s)确定了所给的n个元件的安装位置,就确定了一个布线方案.与此布线方案相应的布线成本为问题描述:假设要将一组元件安装在一块线路板上.为此需要设计一个线路板布线方案.各元件的连线数由连线矩.试设计一个优先队列式分支限界法,找出所给n个元件的布线成本最小的布线方案.

算法设计:对于给定的n个元件,改计一个优先队列式分支限界法,计算最佳布线方案,使布线费用达到最小.

数据输入:由文件input.txt给出输入数据.第1行有1个正整数n(1≤n≤20).接下来的n-1行,每行n-1个数,表示元件i和元件j之间连线数(1≤i<j≤20).

结果输出:将计算的最小布线费川以及相应的最佳布线方案输出到文件output.txt.

问题描述:假设要将一组元件安装在一块线路板上.为此需要设计一个线路板布线方案.各元件的连线数由连线矩

点击查看答案

第6题

问题描述:设磁盘上有n个文件每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是且磁头从

问题描述:设磁盘上有n个文件问题描述:设磁盘上有n个文件每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是且磁头从问题描述每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是问题描述:设磁盘上有n个文件每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是且磁头从问题描述问题描述:设磁盘上有n个文件每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是且磁头从问题描述磁头从当前磁道移到被检信息磁道所需的时间可用这两个磁道之间的径向距离来度量.如果文件fi存放在第i(1≤i≤n)道上,则检索这n个文件的期望时间是问题描述:设磁盘上有n个文件每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是且磁头从问题描述.式中,d(i,j)是第i道与第j道之间的径向距离|i-j|.

磁盘文件的最优存储问题要求确定这n个文件在磁盘上的存储位置,使期望检索时间达到最小.试设计一个解此问题的算法,并分析算法的正确性与计算复杂性.

算法设计:对于给定的文件检索概率,计算磁盘文件的最优存储方案.

数据输入:由文件input.txt给出输入数据.第1行是正整数n,表示文件个数.第2行有n个正整数a,表示文件的检索概率.实际上第k个文件的检索概率应为问题描述:设磁盘上有n个文件每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是且磁头从问题描述

结果输出:将计算的最小期望检索时间输出到文件output.txt.

问题描述:设磁盘上有n个文件每个文件占用磁盘上的1个磁道.这n个文件的检索概率分别是且磁头从问题描述

点击查看答案

第7题

下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。 请改

下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdio.h>

define N 20

void fun(int a[],int n)

{int i,j,t,p;

for (j=0;j<n-1;j++)

/*************found**************/

{p=j

for(i=j;i<n;i++)

if(a[i]<a[p])

/*************found**************/

p=j;

t=a[p]; a[p]=a[j]; a[j]=t;

}

}

main()

{int a[N]={9.6,8,3,-1},i,m=5;

printf("排序前的数据: ");

for(i=0;i<m;i++) printf("%d",a[i]);

printf("\n");

fun(a,m);

printf("排序后的顺序: ");

for(i=0;i<m;i++) printf("%d",a[i]);

printf("\n");

}

点击查看答案

第8题

下列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。 请改正

下列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。

请改正程序中的错误,使它能得到正确结果。

[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。

[试题源程序]

include<stdio.h>

define N 20

void fun(int a[], int n)

{

int i, j, t, p;

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

/***********found***********/

p=j

for(i=j; i<n; i++)

if(a[i]<a[p])

/***********found***********/

p=j;

t=a[P];

a[p]=a[j];

a[j]=t;

}

}

msin()

{

int a [N]=(9, 6, 8, 3, -1), i, m=5;

printf("排序前的数据:”);

for(i=0; i<m; i++)

printf("%d", a[i]);

printf("\n");

fun(a, m);

printf("排序后的数据:");

for(i=0; i<m; i++)

printf("%d", a[i]);

printf("\n");

}

点击查看答案

第9题

下列给定程序中fun()函数的功能是:将n个无序整数从小到大排序。 请改正程序中的错误,使它能得出正

下列给定程序中fun()函数的功能是:将n个无序整数从小到大排序。

请改正程序中的错误,使它能得出正确的结果。

注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <stdio.h>

include <stdlib.h>

fun(int n, int *a)

{ int i,j,p,t;

for (j=0;j<n-1;j++)

{ P=j;

/***************found*******************/

for(i=j+l;i<n-1;i++)

if (a[p]>a[i])

/***************found*******************/

t=i;

if (p!=j)

{t=a[j];a[j]=a[p];a[p]=t;}

}

}

putarr(iht n,int *z)

{int i;

for (i=l;i<=n;i++,z++)

{ printf("%4d",*z);

if (!(i%10)) printf("\n");

} printf ("\n");

}

main ()

{int aa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;

clrscr();

printf("\n\nBefore sorting %d numbers:\n",n); putarr(n,aa);

fun(n,aa);

printf("\nAfter sorting %d numbers:\n",n);putarr(n,aa);

}

点击查看答案

第10题

下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请改

下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdio.h>

define N 20

void fun(int a[ ],int n)

{

int i,j,t,p;

/*************found*************/

for(j=0;j<n-1;j++) ;

{

p=j;

for(i=j;i<n;i++)

if(a[i)>a[p])

p=i;

t=a[p];

a[p]=a[i];

/*************found**************/

a[p]=t;

}

}

main()

{

int a[N]={11,32,-5,2,14},i,m=5;

printf(“排序前的数据:”);

for(i=0;i<m;i++)

printf(“%d”,a[i]);

printf(“\n”);

fun(a,m);

printf(“排序后的顺序:”);

for(i=0;i<m;i++)

printf(“%d”,a[i]);

printf(“\n”);

}

点击查看答案

第11题

对于给定的序列{ak},我们把(i,j)称为逆序对当且仅当iaj。那么序列1,7,2,3,5,4的逆序对数为()个。

A.4

B.5

C.6

D.7

点击查看答案
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
警告:系统检测到您的账号存在安全风险

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

微信搜一搜
赏学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
赏学吧
点击打开微信