```⍝ Depth-first spanning tree for graph ⍺ from vertex ⍵:

show←{↑(⍳⍴⍵),¨'→',¨⍵}   ⍝ show graph

g← {↓⍉↑1 ¯1⌽¨⊂⍵}⍳10     ⍝ "polygon" graph.

show g
1 →  2 10
2 →  3  1
3 →  4  2
4 →  5  3
5 →  6  4
6 →  7  5
7 →  8  6
8 →  9  7
9 → 10  8
10 →  1  9

g dfspan 1              ⍝ depth-first search.
¯1 1 2 3 4 5 6 7 8 9

g span 1                ⍝ compare with breadth-first search.
¯1 1 2 3 4 7 8 9 10 1

g← {⍵∘~¨⍵}⍳8            ⍝ order 8 complete graph.

show g
1 → 2 3 4 5 6 7 8
2 → 1 3 4 5 6 7 8
3 → 1 2 4 5 6 7 8
4 → 1 2 3 5 6 7 8
5 → 1 2 3 4 6 7 8
6 → 1 2 3 4 5 7 8
7 → 1 2 3 4 5 6 8
8 → 1 2 3 4 5 6 7

g dfspan 1              ⍝ depth-first search,
¯1 1 2 3 4 5 6 7

g span 1                ⍝ compare with breadth-first search.
¯1 1 1 1 1 1 1 1

⎕io←0                   ⍝ origin 0,
(g-1)dfspan 0           ⍝   depth-first search.
¯1 0 1 2 3 4 5 6
⎕io←1

gx←(2 5)(1 3 6)(2 4 7)(3 8)(1 6 9)(2 5)(3 8)(4 7 12)(5 10 13)(9 14)(12 15)(8 11 16)(9 14)(10 13 15)(11 14 16)(12 15)

gx dfspan 1
¯1 1 2 3 9 5 8 4 10 14 12 8 9 15 11 15

↑⍬ ⍬ ⍬∘dfspan ¨⍳3           ⍝ null 3-graph
¯1 ¯2 ¯2
¯2 ¯1 ¯2
¯2 ¯2 ¯1

⍝∇ dfspan span

Back to: code

Back to: Workspaces
```