数据结构c 语言版题目,求代码!!! 请一定用C语言,求大神帮忙

数据结构c 语言版题目,求代码!!! 请一定用C语言,求大神帮忙,第1张

如图

源代码:

/

小L居住的地方有很多城市

作者:q839219286

算法思想:城市图采用DFS搜索,搜索终止条件是:到达终点或 Vmax-Vmin>dV

设 dV=Vmax-Vmin,求dV的方法是利用 Vmax、Vmin的递归历史记录

图结构采用“邻接表”法,存储结构采用数组。

/

//C语言版

#include<stdioh>

#include<stdlibh>

#include <limitsh>

//宏定义函数

#define MAX(a,b) (a)>(b)(a):(b)

#define MIN(a,b) (a)<(b)(a):(b)

//图节点结构(邻接表法)

struct VNode {

struct Edge next;

char visited; //是否在本路径中访问过,=1是;=0否

};

//图的边结构(邻接表法)

struct Edge {

int v; //道路的行驶速度

struct VNode adjVex; //道路通向的城市节点

struct Edge next;

};

#define max_Vex 500

#define max_Edge 5000

//最多500个城市(其中下标为0不使用)

struct VNode vex[max_Vex + 1];

struct Edge edge[max_Edge  2]; //一条边有两个节点需要记录

int vex_Num, edge_Num;

struct VNode start, end; //起点、终点

int minDIF; //已经找到的通往终点路径中Vmax-Min的最小差值

void addEdge(int Ui, int Vi, int Wi);//新增 Ui 通往 Vi的道路

void buildGraph();

void DFS(struct VNode vex, int Vmax, int Vmin);

int main() {

int Q; scanf("%d", &Q); //一个整数Q,代表有多少组测试数据。

int out[5],i; //2≤Q≤5

for (i=0; i<Q ; i++) {

buildGraph(); //scanf已包含在内

DFS(start, -1, INT_MAX-1);

out[i] = minDIF;

}

//输出最终结果

for (i = 0; i<Q; i++) {

printf("%d\n",out[i] );

}

//getchar(); getchar(); //防止闪退

return 0;

}

void DFS(struct VNode vex,int Vmax,int Vmin) {

if (Vmax - Vmin >= minDIF)return; //一旦超限,则没有继续遍历的意义

if (vex == end) { //到达终点

minDIF = Vmax - Vmin; //已经保证 Vmax - Vmin < minDIF

}else { //继续遍历

vex->visited = 1; //防止DFS无限循环

struct Edge next;

for (next = vex->next;

next != NULL; next = next->next) {

if(0== next->adjVex->visited) //下一节点不在已走过的节点

DFS(next->adjVex, MAX(next->v, Vmax), MIN(next->v, Vmin));

}

vex->visited = 0; //时光倒流

}

}

//新增 Ui 通往 Vi的道路

void addEdge(int Ui, int Vi, int Wi) {

edge[edge_Num]adjVex = vex + Vi;

edge[edge_Num]v = Wi;

edge[edge_Num]next = vex[Ui]next; //链表头插法

vex[Ui]next = edge+ edge_Num;

edge_Num++;

}

void buildGraph() {

int road_Num, i, startID, endID;

struct VNode p_V;

scanf("%d %d", &vex_Num, &road_Num);

//初始化节点。倒序遍历,注意vex[0]不算入。  其实可以用memset()秒杀的,我写的是原生代码版本

for (p_V = vex + vex_Num; p_V > vex; p_V--) {

p_V->next = NULL;

p_V->visited = 0;

}

//注意 road_Num条道路 有 2edge_Num 个邻接表边

edge_Num = 0;

for (; road_Num > 0; road_Num--) { //road_Num条道路 读入road_Num行数据

int Ui, Vi, Wi;//3个整数Ui,Vi,Wi, (i=1,…,M),道路的两个城市编号和道路的行驶速度。

scanf("%d %d %d", &Ui, &Vi, &Wi);

//注意两个方向都要添加

addEdge(Ui, Vi, Wi);

addEdge(Vi, Ui, Wi);

}

//余下数据赋值

scanf("%d %d", &startID, &endID);

start = vex + startID;

end = vex + endID;

minDIF = INT_MAX;

}

我也刚刚碰到这个问题 是镜头故障 如果是保修的就拿去售后 要是不保修就送到大点的维修店里吧 希望就是接头排线或者卡住了什么的问题 要是整个镜头组修不了就代价大了 祝你好运

中国各地足环代码对照:

01 北京 ,02 天津 ,03 河北, 04 山西,05 内蒙,06 辽宁,07 吉林, 08 黑龙江 ,09 上海 ,10 江苏 ,11 浙江 ,12 安徽 ,13 福建,14 江西 ,15 山东,16 河南 ,17 湖北 ;

18 湖南, 19 广东,20 广西  ,21 海南 ,22 四川, 23 贵州, 24 云南 , 25 西藏 ,26 陕西 ,27 甘肃 , 28 青海,29 宁夏,30 新疆, 31 重庆, 32 火车头,33 石油。

赛鸽足环由全国性的信鸽协会统一制作并发放。

印有国家名称,我国用“中国”两字,国外多用英文字母或缩写,如比利时用"BELGE”,荷兰用“NL”,美国用“AU”,德国用“DV”,日本用“Japan”等。一股是每年发放一次,每年的12月30日发放下一年的足环,以确保当年育出的鸽子套上本年度的足环。

发放过早,鸽主就用隔年出生的鸽子去参加当年幼鸽赛,失去了比赛的公正性。属中国信鸽协会领导的各地鸽会每年举行的春、秋两季的比赛,只有佩戴此环的鸽子才有资格参赛。

扩展资料:

足环的种类:

1、主副环制:主环为中国信鸽协会专制,副环是与主环相配,一般是后四位号码与主环后四位号码一致。

2、主环制:组织比赛单位指定由中国信鸽协会专制的足环号码码段,比如说从000001到000500,指定500个。

3、专制环:由组织比赛单位特制的比赛专用足环。

信鸽足环的规格和样式:

1、信鸽足环由透明外层、金属内层及金属内层外侧信息层组成;

2、信鸽足环内径8毫米,外径108毫米,高度11毫米,公差01毫米;

3、内层材质为铝,外层材质为透明塑料;

4、足环颜色为红(185c)、橘(804c)、黄(113c)、果绿(375c)、粉(806c)、蓝(638c)、紫(528c)、 草绿(3395c )共8种基色,以年度为周期轮换制作,自2019年开始执行。

 信鸽足环信息须包括以下内容:

1、中国的英文缩写CHN(3位英文字母);

2、发行年的年份(4位阿拉伯数字);

3、省级协会代码(2位阿拉伯数字)

4、序号(7位数字)

5、二维码或颜色条形信息码

参考资料:

中国信鸽协会-中国信鸽足环管理规定

DV就是数码摄像机Digital Video的缩写,译成中文就是数字视频的意思,它是多家著名家电巨擘联合制定的一种数码视频格式。然而,在绝大多数场合DV则是代表数码摄像机。

HDV是由佳能、夏普、索尼、JVC四大厂商推出的一种使用在数码摄像机上的高清标准。采用这一标准的数码摄像机能以720线的逐行扫描方式或1080线隔行扫描方式进行拍摄。

扩展资料:

HDV的特点:

1、HDV可以在DV磁带上录制高清晰画面

用于录制DV的DV磁带也可以用于高清晰影像的录制,录制时间也是相等的。而且,主要的录制装置也与DV标准相同。

2、先进的压缩算法

HDV采用了广泛应用于数字广播和DVD的MPEG-2压缩方式,在保持高画质的同时可以实现有效压缩。因此,与DV相比,尽管码流相同,但其分辨率要高4倍。为了使用MPEG-2来压缩大量高清晰画面数据(这些数据远远多于SD画面数据)要求有一种非常大的信号处理电路。不过由于半导体和信号处理技术的发展,现在可以将编解器作为个人设备的一种标准。索尼为此专门开发了先进的处理芯片。

3、HDV具备强大的纠错功能

利用使用帧间压缩的MPEG-2压缩方法(或编解码器),数据丢失带来的影响将远远大于DV标准的数据丢失影响。因此,运用了HDV制式的纠错代码实现了比DV制式更加精确的纠错功能。而且,通过将只在轨道内进行DV纠错的方法转化为多轨道间的纠错方法,可显著改善纠错功能,并可极大地增强对于数据丢失的容错性。

DV的特点:

1,清晰度高模拟摄像机记录本提模拟信号,所以影像清晰度(也称之为解析度、解像度或分辨率)不高,如VHS摄像机的水平清晰主著240线,最好提Hi8机型也只有400线。而DV记录的则是数字信号,其水平清晰度已经达到了500~540线,可以和专业摄像机相媲美。

2,色彩更加纯正DV的色度和亮度信号带宽差不多是模拟摄像机的6倍,而色度和亮度带宽是决定影像质量的最重要因素之一,因而DV拍摄的影像的色彩就更加纯正和绚丽,也达到了专业摄像机的水平。

3,无损复制 DV磁带上记录的信号可以无数次地转录,影像质量丝毫也不会下降,这一点也是模拟摄像机所望尘莫及的。

4,体积小重量轻,和模拟摄像机相比,DV机的体积大为减小,一般只有123mm×87mm×66mm左右,重量则大为减轻,一般只有500克左右,极大地方便了用户体积只有747mm×619mm×269mm,重量才90克,比大多数手机还要轻些。

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4125199.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-17
下一篇2024-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存