zoukankan      html  css  js  c++  java
  • 欧拉回路小结:hihocoder49,50,51

    好久不做题了!!!

    最近在hihocoder上写的欧拉回路,欧拉回路意思就是,n个城市,m条边,能否每条边只走一次,能把所有边走完。

    感觉主要分两个部分搞,1:建图,找到合适的节点,合适的边。2:找欧拉回路,打印路径。关于第二点比较简单,用栈来实现就是先从一个节点出发,走到不能走为止,边走边删除走过的边,节点压进栈里,然后出栈,发现有节点仍然有边是,就压栈,出栈,最后路径就出来了,有向图的时候要把路径翻一下就好了。这个时候就是用dfs遍历一边就可以了,因为dfs正好是按照栈来的。

    判断能不能构成欧拉回路的条件:无向图:最多只有两个节点度数不是偶数,那么这两个节点一定一个是初始节点,一个是结束节点。如果所有节点度数都是偶数,那么任意一个节点都课成为初始节点和结束节点。有向图:1:有一个点节点入度比出度多1,另一个节点入度比出度小1。2:所有节点入度都等于出度。

    欧拉回路最难的地方应该就是建图了,等以后题目做多了再来总结这一块。。。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Delphi对象的产生和消亡过程
    WIN32的时空观
    PHP类的用法
    D7的System.pas单元的实现部分
    PHP的最简单用法
    C调用Lua
    js连连看
    动态属性的一个架构
    Entity Framework开源了
    apachesolr4.0.0ALPHA中文分析器IKAnalyzer4.0
  • 原文地址:https://www.cnblogs.com/hqwhqwhq/p/4811901.html
Copyright © 2011-2022 走看看