《数据结构图的遍历实验报告.docx》由会员分享,可在线阅读,更多相关《数据结构图的遍历实验报告.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据结构图的遍历实验报告 试验报告 课程名:数据结构(试验名:图的遍历姓 名:班 级:学 号:时 间: C语言版) 2022.11.15 一 试验目的与要求 1.驾驭图的遍历的方法 2.利用 C 语言实现图的遍历 二 试验内容 将一个图存储起来 对该图分别进行先深和先广遍历 三 试验结果与分析 程序: #include #include #define INFINITY 32767 #define MAX_VEX 20 /最大顶点个数 #define QUEUE_SIZE (MAX_VEX+1) /队列长度 /using namespace std; bool *visited; /访问标记数
2、组,避开同一顶点多次访问 /*图的邻接矩阵存储结构*/ typedef struct char *vexs; /顶点向量 int arcsMAX_VEXMAX_VEX; /邻接矩阵 int vexnum,arcnum; /图的当前顶点数和弧数 Graph; /*队列类*/ cla Queue public: void InitQueue() base=(int *)malloc(QUEUE_SIZE*sizeof(int); front=rear=0; void EnQueue(int e) baserear=e; rear=(rear+1)%QUEUE_SIZE; void DeQueue(
3、int &e) e=basefront; front=(front+1)%QUEUE_SIZE; public: int *base; int front; int rear; ; /*图G中查找元素c的位置*/ int Locate(Graph G,char c) for(int i=0;i G.vexs=(char *)malloc(G.vexnum*sizeof(char); /安排顶点数目 printf(输入%d个顶点.n,G.vexnum); for(i=0;i printf(输入顶点%d:,i); scanf(%c,&G.vexsi); temp=getchar(); /接收回车
4、for(i=0;i for(j=0;j printf(输入弧%d:,i); scanf(%c %c %d,&a,&b,&w); /输入一条边依附的顶点和权值 temp=getchar(); /接收回车 s1=Locate(G,a); s2=Locate(G,b); G.arcss1s2=G.arcss2s1=w; /*图G中顶点k的第一个邻接顶点*/ int FirstVex(Graph G,int k) if(k=0 & k for(int i=0;i=0 & i=0 & j for(int k=j+1;k visitedk=true; printf(%c ,G.vexsk); /访问第k个
5、顶点 for(i=FirstVex(G,k);i=0;i=NextVex(G,k,i) if(!visitedi) DFS(G,i); /对k的尚未访问的邻接顶点i递归调用DFS /*广度优先遍历*/ void BFS(Graph G) int k; Queue Q; /协助队列Q Q.InitQueue(); for(int i=0;i visitedi=true; printf(%c ,G.vexsi); Q.EnQueue(i); /i入列 while(Q.front!=Q.rear) Q.DeQueue(k); /队头元素出列并置为k for(int w=FirstVex(G,k);w
6、=0;w=NextVex(G,k,w) if(!visitedw) /w为k的尚未访问的邻接顶点 visitedw=true; printf(%c ,G.vexsw); Q.EnQueue(w); /*主函数*/ void main() int i; Graph G; CreateUDN(G); visited=(bool *)malloc(G.vexnum*sizeof(bool); printf(n广度优先遍历: ); for(i=0;i 图1.图的遍历程序运行结果 数据结构图的遍历试验报告 数据结构图书管理报告 数据结构试验报告 数据结构试验报告 数据结构试验报告 数据结构试验报告 数据结构试验报告 数据结构试验报告 数据结构试验报告 数据结构试验报告 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第5页 共5页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页第 5 页 共 5 页