数据结构中邻接图的深度遍历非递归算法(C++)

来源 :青年生活 | 被引量 : 0次 | 上传用户:S82415127
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在数据结构课中,邻接图的深度遍历往往采用递归算法,但递归算法有时存在后台程序过多,导致运行慢的缺点。为了解决这一问题,下面给出邻接图的深度遍历的非递归算法(C++)。
  关键词:邻接图 深度遍历 非递归
  一、结构体定义
  图采用邻接表的形式存储,分为顶点表和边表,具体定义如下:
  struct ArcNode    //定义边表节点
  {
   int adjvex;     //临界点域
   ArcNode *next;
  };
  template <class DataType>
  struct  VertexNode  //定义顶点表节点
  {
   DataType vertex;
   ArcNode *firstedge;
  };
  二、算法描述
  首先,引入栈stack[ ],数组visited[ ],该数组对于节点i,若i已被访问,则visited[i]=1;若i还没被访问过,则visited[i]=0。顶点v开始,将v输出并入栈,且将visited[v]设为1,然后通过两层while循环,深度遍历整个图。
  三、算法实现
  template<class DataType>
  void MGraph<DataType> ::DFSTraverse(int v)
  {
   cout << adjlist[v].vertex;
   visited[v]=1;
   top=-1;
   s[++top]=v;
   while(top!=-1)
   {
  i=stack[top];
  p=adjlist[i].firstedge;
  while(p!=NULL)
  {
   t=p->adjvex;
   if(visited[t]==0)
   {
   visited[v]=1;
   cout<<t;
   stack[++top]=t;
   break;
   }
  else p=p->next;
  }
  if(p==NULL)  top--;
   }
  }
  四、算法總结
  该算法利用了双层的while循环,从而达到了递归算法的效果,虽代码长度比递归算法长,但优化了算法的运行速度,更适合点集很大的图使用。
其他文献
摘要:“不错”本来是一个由否定副词“不”和形容词“错”组成的短语,表示客观的确认义,后来经过词汇化的过程后,“不错”的语义发生了虚化,内部结构开始模糊不清,成为了一个形容词,具有了主观评价义。除此之外,“不错”还具有话语标记的用法,具有话语衔接,话轮转换和凸显主观情态的话语功能。本文将重点梳理一下“不错”的词汇化过程和话语标记用法的产生以及它所具有的话语功能。  关键词:“不错”;词汇化;话语标记
期刊
摘要:目前国家在大力发展海洋事业,探索利用海洋资源。在海洋石油工程的实施中,焊后热处理技术被大量使用,以防范高温焊接工作中由于温度在短时间内快速升高导致的操作危险和施工失败。本文讨论的是焊后热处理对海洋石油工程项目管线的应用意义、方法和要求,希望能为海洋石油工程项目的发展提供参考和借鉴。  关键词:焊后热处理;海洋石油工程项目;应用研究  引言:  在进行焊接工作时,焊件温度分布不均匀或金属材料的
期刊
摘要:对于英语学习者来说,写作能力既非常重要也很难迅速提高。因此,写作教学值得英语教师和英语研究者进行不断地探索和改进。为了提高写作教学的效果和学生的写作水平,广东外语外贸大学王初明教授提出“读后续写法”。此种写作方法将语言输入与输出紧密结合,将语言的模仿与创造性使用紧密结合,将语言的学习与运用紧密结合,是提高外语学习效率的有效方法。读后续写对学生英语写作的影响的研究主要涉及在宏观方面,因此本论文
期刊
摘要:词汇是语言学习的基石,词汇学习是学好英语的关键。虽然学生和教师花费了大量的精力,但词汇的教与学中仍存在很多问题,教学效果不尽人意。高中阶段学生学习时间紧张,如何利用好课堂,让学生在课堂上更高效率地记忆单词;如何减轻学生单词记忆的负担,使得英语词汇的学习更加轻松、高效这是值得英语教师不断探索的。本文主要通过阐述高中英语词汇教学现状中存在的问题,并提出更加有效的词汇教学方法。  关键词:高中英语
期刊
摘要:进入新时期以来,我国对教育事业的重视程度越来越高,同时随着我国机械工程行业的快速发展,加强对机械工程教育的高度重视势在必行。本文着重分析了我国当前机械工程教育现状,然后结合其现状针对性的提出机械工程教育在未来的发展方向,并提出以下有效的策略,希望能促进我国机械工程教育行业的快速发展,同时为我国机械工程行业的发展提供足够的人才储备。  关键词:中国;机械工程;教育现状;未来发展方略  至202
期刊
摘要:建筑施工过程中,土建施工的现场管理至关重要,它影响了建筑工程的质量水平,它还与企业的经济效益、公众形象紧密相关。建筑公司的经营管理水平是否优良在施工现场管理中直接体现,因此建筑公司要加大对施工现场的管理,增强企业的综合实力,利于建筑企业在建筑领域中取得竞争优势。鉴于此,本文主要分析探讨了土建施工现场管理优化策略,以供参阅。  关键词:土建施工;现场管理;优化策略  引言  在建筑工程中,土建
期刊
全面贯彻省委省政府、省委教育工委省教育厅、市委市政府各项决策部署,履行一岗双责,深化教育综合改革,加强内涵建设,开展校企合作,促进产教融合,加快学校转型发展,科学开展顶层设计,以构建应用型本科人才培养体系为着力点,稳步提升人才培养质量。几年来,学校十三五规划执行良好,学科专业建设等主要办学指标提前完成,顺利完成了从单一教育学科向应用型多学科的转变,较快实现了从专科办学向本科办学的快速提升。  一、
期刊
摘要:随着科学技术的快速发展以及社会经济的进步,我国的城市建设以及现代化进程呈现出逐渐加快的趋势,建筑行业也迎来了新的发展机遇。建筑行业在进行项目施工以及各项生产时,离不开机械设备的使用,良好的机械设备对于建筑行业的施工效率以及工程效益都具有重要的影响作用。本文主要对机械施工时的安全管理问题进行分析,并深入的探究了相应的解决办法,以期为相关工作者提供指导和帮助。  关键词:机械施工;安全管理;设备
期刊
摘要:随着社会经济的快速增长,人们的生活水平也在日益提高,而人们的生活品质也在发生着改变,这引发了产品设计的创新发展.特别是在产品中材料有着重要的影响,不同的材料都会改变产品的特性,以此要求设计人员要能够考虑到产品设计的这一特殊特性进行设计产品.而随着社会的发展,各种各样的资源被开发出来,也引发了各种各样材料的产生,因此为了应付日益变化的市场需求,使材料在产品设计中处于有利的地位,需要能够根据材料
期刊
摘要:“装饰艺术”运动的设计风格是综合性的,在折衷主义立场的影响下,既具有传统的形式美,又追求工业化的技术美;既承继欧洲自古以来的装饰式样,又开创出新世纪装饰艺术典范,成为20世纪主要的设计思潮之一,也给21世纪的设计提供了有益的参考。  关键词:装饰艺术运动;风格;形式美;技术美  一、装饰艺术运动历史概述  装饰艺术运动兴起于1905年左右,1925年至1935年為其全盛时期,其中尤以1925
期刊