• 2022-06-09
    假设图[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]采用邻接表存储,编写一个实现连通图[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]的深度优先遍历(从顶点[tex=0.5x0.786]GWrvJtODhYOBa2bpkSPSFQ==[/tex]出发)的非递归算法.
  • 解:深度优先遍历的非递归算法如下:void DFS1 ( ALGraph  G, int v)    //非递归深度优先算法{    ArcNode * p;    AreNode * St[ MAXV];    int top = - 1,w, i;    for (i = o;in;itt )        visited[ i] = o;    //顶点访问标志均置成0    printf( " % 3d" ,v);    //访问顶点v    visited[ v ] - 1;    top +t ;    //将顶点v的第一个相邻顶点进栈    st[ top]= G-> adjlist[v].firstarc;    while (top>- 1)    //栈不空循环    {    p= st[ topl; top --;    //出栈一个顶点作为当前顶点        while (p!= NULL)    //查找当前顶点的第一个术访问的顶点        {    w= p-> adjvex;            if ( visited[ w] == 0)        {    printf(" % 3d" , w) ;    //访问w            visiled[ w ] = 1;            top +t ;    //将顶点w的第一个顶点进栈            st[ top]=G- > adj1ist[w].firstarc;            break;    //退出循环        }        p=p- >nextarc;    //找下一个相邻顶点        }    }     printf("\n" ) ;[br][/br]}

    内容

    • 0

      证明:若[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]是连通图,则有可能删除顶点使[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]变成不连通的当且仅当[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]不是完全图。

    • 1

      设[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]是带有[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个顶点的简单图。证明:[br][/br][tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]是树当且仅当[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]是连通的并且有[tex=1.929x1.143]odTH0p5clPZMk1jQf4ctjw==[/tex]条边。

    • 2

      图[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]有[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个顶点,[tex=2.357x1.143]dkoxwOpyXKTw0HsOj3nnBg==[/tex]条边,证明[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]中至少有一个顶点度数大于等于[tex=0.5x1.0]/BQKP5E8YnupUQ2sDg7w1Q==[/tex]。

    • 3

      设[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]是带有[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个顶点的简单图。证明:[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]是树当且仅当[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]没有简单回路并且有[tex=1.929x1.143]odTH0p5clPZMk1jQf4ctjw==[/tex]条边。

    • 4

      设[tex=1.0x1.214]fxP5NKfuaC23W5waarA1ZQ==[/tex]和[tex=1.0x1.214]oSv4U8R1pGloBPK+RYGtWA==[/tex]是简单图[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]中顶点[tex=0.643x0.786]cnVwa8IjZzNSEmAUXJ8VCQ==[/tex]和[tex=0.5x0.786]GWrvJtODhYOBa2bpkSPSFQ==[/tex]之间的没有相同边集的两条简单通路。证明:在[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]中存在简单回路。