栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

确定有向图还是无向图是一棵树

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

确定有向图还是无向图是一棵树

对于有向图:

  • 查找没有输入边的顶点(如果存在多个顶点或不存在,则失败)。

  • 从该顶点进行广度优先或深度优先搜索。如果遇到已经访问过的顶点,则不是树。

  • 如果您完成了操作,并且有未开发的顶点,则它不是一棵树-图形未连接。

  • 否则,它是一棵树。

  • 要检查二叉树,请另外检查每个顶点是否最多具有2个输出边。

对于无向图:

  • 通过简单的深度优先搜索(从任何顶点开始)检查循环- “如果未探索的边导致之前访问过的节点,则图形包含一个循环。”如果有一个循环,那不是一棵树。

  • 如果上述过程使一些顶点无法利用,则它不是树,因为它没有连接。

  • 否则,它是一棵树。

  • 要检查一棵二叉树,如果图形具有多个顶点,请另外检查所有顶点具有1-3个边(父边1个,子边2个)。

检查根,即,一个顶点是否包含1-2的边缘,是没有必要的,因为 必须 是顶点与无环1-2的边连接无向图。

注意,一般情况下不可能识别根(在特殊情况下可能是可能的),因为在许多无向图中,如果要使它成为二叉树,则可以将多个节点作为根。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430772.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号