图遍历问题

图遍历问题图遍历问题分为四类遍历完所有的边而不能有重复,即所謂“一笔画问题”或“欧拉路径”;遍历完所有的顶点而没有重复,即所谓“哈密尔顿问题”。遍历完所有的边而可以有重复,即所谓“中国邮递员问题”;遍历完所有的顶点而可以重复,即所谓“旅行推销员问题”。对于第一和第三类问题已经得到了完满的解决,而第二和第四类问题则只得到了部分解决。第一类问题就是研究所谓的欧拉图的性质,而第二类问题则是…

大家好,又见面了,我是你们的朋友全栈君。

图遍历问题分为四类

遍历完所有的边而不能有重复,即所謂“一笔画问题”或“欧拉路径”;

遍历完所有的顶点而没有重复,即所谓“哈密尔顿问题”。

遍历完所有的边而可以有重复,即所谓“中国邮递员问题”;

遍历完所有的顶点而可以重复,即所谓“旅行推销员问题”。

对于第一和第三类问题已经得到了完满的解决,而第二和第四类问题则只得到了部分解决。

第一类问题就是研究所谓的欧拉图的性质,而第二类问题则是研究所谓的哈密尔顿图的性质。

图的基本知识   

顶点:图中的数据元素称为顶点

有向图:有方向的图叫有向图

无向图:没有方向的图叫无线图

完全图:有n(n-1)/2条边的无向图称为完全图

有向完全图:具有n(n-1)条弧的有向图称为有向完全图

稀疏图:有很少条边或弧的图称为稀疏图,反之称为稠密图

权:与图的边或弧相关的数叫做权(weight)

例子1:

           图的深度遍历   

Time Limit: 1000MS   

Memory limit: 65536K

题目描述

请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。

输入

输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。

输出

输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。

示例输入

1
4 4
0 1
0 2
0 3
2 3

示例输出

0 1 2 3
【】

 

转载于:https://www.cnblogs.com/Roni-i/p/8608569.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135585.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月4日 下午10:36
下一篇 2022年6月4日 下午10:36


相关推荐

  • 简述python垃圾回收机制_理解Python垃圾回收机制

    简述python垃圾回收机制_理解Python垃圾回收机制一 垃圾回收机制 Python 中的垃圾回收是以引用计数为主 分代收集为辅 引用计数的缺陷是循环引用的问题 在 Python 中 如果一个对象的引用数为 0 Python 虚拟机就会回收这个对象的内存 执行 f1 会循环输出这样的结果 而且进程占用的内存基本不会变动 c1 ClassA 会创建一个对象 放在 0x237cf58 内存中 c1 变量指向这个内存 这时候这个内存的引用计数是 1delc1 后 c1 变量不再

    2026年3月18日
    1
  • 【原型和原型链】什么是原型和原型链

    【原型和原型链】什么是原型和原型链一 原型 所有引用类型都有一个 proto 隐式原型 属性 属性值是一个普通的对象 所有函数都有一个 prototype 原型 属性 属性值是一个普通的对象 所有引用类型的 proto 属性指向它构造函数的 prototypevar 1 2 3 a proto Array prototype true 二 原型链

    2026年3月18日
    2
  • 《Manus》使用DeepSeek申请激活码教程

    《Manus》使用DeepSeek申请激活码教程

    2026年3月15日
    2
  • java aqs详解_Java中的File文件类详解

    java aqs详解_Java中的File文件类详解今天学了学并发AQS机制,是抽象队列同步器,用户主要通过继承AQS类,来实现自定义锁,从而完成特定功能,AQS提供了两种锁(1)共享锁(2)排他锁。下面这个博客介绍的AQS机制挺不错可以看看原文链接一、概述  谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock

    2022年8月8日
    13
  • 如何用手机号申请163邮箱_163邮箱注册手机号注册

    如何用手机号申请163邮箱_163邮箱注册手机号注册如果你还没有邮箱,直接用手机号注册163邮箱,163.net是一款TOM的VIP邮箱,跟普通邮箱的区别是邮箱容量可以无限放大,来往的邮件信息能长期存储,国际邮件能快速收到和发出。怎么申请邮箱?163邮箱申请的好处用手机浏览器输入图片中的网址,进入邮箱官网在这里跟普通邮箱的区别是VIP邮箱有多个后缀选择,不像qq只能有一个。点击注册,接下来选择套餐,根据邮箱名字的位数、容量空间、大附件、群发数量,还有安全防护级别、误发邮件撤回次数、删除的邮件回复次数来选择套餐,不过不用担心,如果你现在已经有邮箱了

    2025年12月11日
    3
  • spring boot redis 缓存_redis本地缓存

    spring boot redis 缓存_redis本地缓存SpringBoot集成Redis缓存查询操作是应用中最常见的操作,如果每次查询都从MySQL中查询则会影响效率,通常需要引入缓存来实现查询性能的优化。缓存可以选择本地缓存,远程缓存或本地缓存结合远程缓存。本地缓存可以使用Guava或Caffeine提供的解决方案,而远程缓存则可以选择Redis这样的内存数据库。本文记录一下SpringBoot集成Redis做缓存的相关配置。1引入依赖引入相应Starter。<dependency><gr

    2025年12月10日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号