深度优先搜索遍历.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深度优先搜索遍历

闽江学院软件学院 实验报告 实验名称 实验项目 专业班级 姓名 学号 指导教师 成绩 日期 实验目的 实验内容和 实验步骤 #include stdafx.h const MAX_VERTEX_NUM=20; typedef char VertexType; typedef struct ArcNode { int adjvex; struct ArcNode *nextarc; int info; }ArcNode; typedef struct VNode { VertexType data; ArcNode *firstarc; }VNode,AdjList[MAX_VERTEX_NUM]; typedef struct { AdjList vertices; int vexnum,arcnum; int kind; }ALGraph; void CreateUDG (ALGraph *G); int LocateVex(ALGraph *G,VertexType v1){ for(int i=0;iG-vexnum;i++) { if (v1==G-vertices[i].data) return i; } } void CreateUDG(ALGraph *G) { // 采用邻接表存储表示,构造无向图G(G.kind=UDG)。 // cin G.vexnum G.arcnum IncInfo; // IncInfo为0表明各弧不含其它信息 int i,k,j; VertexType v1,v2; ArcNode *pi,*pj; printf(请输入图的顶点数与边数,数字之间用逗号分隔:); scanf(%d,%d,(G-vexnum),(G-arcnum)); for (i=0; iG-vexnum; ++i) { // 构造表头向量 printf(请输入顶点信息:(字符型)); getchar(); // 吸收输入的回车符 scanf(%c,(G-vertices[i].data)); // 输入顶点值 G-vertices[i].firstarc = NULL; // 初始化链表头指针为空 }//for for (k=0; kG-arcnum; ++k) { // 输入各边并构造邻接表 //cin v1 v2; // 输入一条弧的始点和终点 printf(请输入边的两个端点,以逗号作为分隔符:); getchar(); scanf(%c,%c,v1,v2); i = LocateVex(G, v1); j = LocateVex(G, v2); // 确定v1和v2在G中位置,即顶点的序号 pi = new ArcNode; pi - adjvex = j; // 对弧结点赋邻接点位置信息 pi - nextarc = G-vertices[i].firstarc; G-vertices[i].firstarc = pi; // 插入链表G.vertices[i] pj = new ArcNode; pj - adjvex = i; // 对弧结点赋邻接点位置信息

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档