• 图遍历问题


    图遍历问题分为四类

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

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

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

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

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

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

    图的基本知识   


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


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


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


    完全图:有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
    【】
  • 相关阅读:
    业务决定功能,功能决定技术
    类的设计问题
    鲁棒图的三元素:抽象对象,实体对象和控制对象
    swift 命名空间实现的设计思考:extension YKKit where Base == String
    iOS keychain注解
    学科基本结构理论-布鲁纳学习理论
    软件框架的理解
    数据库管理系统-可扩展的功能组件
    SQLite权威指南
    应用程序员眼中的数据库管理系统:API+数据库语言
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8608569.html
Copyright © 2020-2023  润新知