pta 遍历时用裁判定义的函数 4-2 邻接矩阵存储图的深度优先遍历 (20分)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pta 遍历时用裁判定义的函数 4-2 邻接矩阵存储图的深度优先遍历 (20分)相关的知识,希望对你有一定的参考价值。
函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVertexNum][MaxVertexNum]; /* 邻接矩阵 */;typedef PtrToGNode MGraph; /* 以邻接矩阵存储的图类型 */函数DFS应从第V个顶点出发递归地深度优先遍历图Graph,遍历时用裁判定义的函数Visit访问每个顶点。当访问邻接点时,要求按序号递增的顺序。题目保证V是图中的合法顶点。裁判测试程序样例:#include <stdio.h>typedef enum false, true bool;#define MaxVertexNum 10 /* 最大顶点数设为10 */#define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535*/typedef int Vertex; /* 用顶点下标表示顶点,为整型 */typedef int WeightType; /* 边的权值设为整型 */typedef struct GNode *PtrToGNode;struct GNode int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVertexNum][MaxVertexNum]; /* 邻接矩阵 */;typedef PtrToGNode MGraph; /* 以邻接矩阵存储的图类型 */bool Visited[MaxVertexNum]; /* 顶点的访问标记 */MGraph CreateGraph(); /* 创建图并且将Visited初始化为false;裁判实现,细节不表 */void Visit( Vertex V ) printf(" %d", V);void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );int main() MGraph G; Vertex V; G = CreateGraph(); scanf("%d", &V); printf("DFS from %d:", V); DFS(G, V, Visit); return 0;/* 你的代码将被嵌在这里 */输入样例:给定图如下5输出样例:DFS from 5: 5 1 3 0 2 4 6
参考技术A 这个应该可以//插入排序
#ifndef LIST_H
#define LIST_H
#include<iostream>
using namespace std;
template<class number>
class List
public:追问
大神不行啊
编译器:gcc
时间限制:400ms
内存限制:64MB
代码长度限制:16kB
判题程序:系统默认
作者:DS课程组
单位:浙江大学
这是要求~
Visit(V);
Visited[V]=true;
for(int w=0;w<Graph->Nv;w++)
if((Graph->G[V][w])==1&&!Visited[w])
DFS(Graph,w,Visit);
[PTA]实验10-7 递归求Fabonacci数列
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:
f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。
函数接口定义:
int f( int n );
函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。
裁判测试程序样例:
#include <stdio.h>
int f( int n );
int main()
{
int n;
scanf("%d", &n);
printf("%d\\n", f(n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
6
输出样例:
8
- 提交结果:
- 源码:
#include <stdio.h>
int f(int n);
int main()
{
int n;
scanf("%d", &n);
printf("%d\\n", f(n));
return 0;
}
/* 你的代码将被嵌在这里 */
int f(int n)
{
if (n == 0)
{
return 0;
}
else if (n == 1)
{
return 1;
}
else
{
return f(n - 1) + f(n - 2);
}
}
以上是关于pta 遍历时用裁判定义的函数 4-2 邻接矩阵存储图的深度优先遍历 (20分)的主要内容,如果未能解决你的问题,请参考以下文章