zoukankan      html  css  js  c++  java
  • 数据结构-图的概念

    根据我做过的一些错题。我想要简要总结一下一些比较容易忽略的图的概念。

    1完全有向图和完全无向图。

    一个有向图,有n个结点,则最多有n(n-1)条边。这种有n(n-1)条边的有向图是完全有向图。

    一个无向图有n个节点,则最多有n(n-1)/2条边。这种n(n-1)/2条边的无向图是完全无向图。

    2连通,连通图,连通分量。

    无向图中,vi到vj有路径,则说vi到vj连通。

    无向图的任意两个节点都连通,说这是连通图。

    连通分量,在理解它之前,先要理解什么事极大连通子图。 A B是连通子图  A C也是连通子图

    A B C也是连通子图。但是A B, A  C,节点数分别是2,2少于A B C(扩充进C)连通子图的3。所以A B C是极大连通子图。

    D E也是连通子图。并且没办法再扩充了。它也是极大连通子图。连通分量就是极大连通子图

    所以连通分量是A B C。D E。

    PS:一个N节点图至少一个连通分量。至多N个连通分量。

    1 有环无环,深度优先搜索和拓扑排序关系。

    这个问题比较复杂,第一是要知道回路。

    回路 就是出发点与终点都是同一个点的路径 比如A-B-C-A。有回路就是有环的意思。

    第二是要知道深度优先搜索 不要用递归实现,当数据一多就炸了。要用栈来实现,那么如何用栈实现呢?

    http://blog.csdn.net/ivan_zgj/article/details/51541447这里有说。

    然后用栈实现的深度优先搜索 逆序就是 拓扑排序。

  • 相关阅读:
    前端性能优化方法
    软件测试十大原则
    CSRF攻击【转载】
    XSS攻击(出现的原因、预防措施......)
    python 连接MySQL数据库
    《快消品营销人的第一本书》
    python 格式化输出日志记录
    python 安装cv2
    测试用例设计的策略
    【转】APP功能测试要领
  • 原文地址:https://www.cnblogs.com/zzzPark/p/6106207.html
Copyright © 2011-2022 走看看