Next: 7 グラフ探索
Up: 6 グラフ
Previous: 6.4 隣接点リスト
*graph1*から,隣接点リストであらわした
*graph2*を作る関数elist2alistは,これらを組み合わせて
(defun elist2alist (g)
(mapcar
#'(lambda (v)
(adjacency-list-aux v g))
(vertex-list g)))
と定義すれば,
> (elist2alist *graph1*)
((d s a) (s d a b) (b c) (a e b c)
(e f) (s e a d) (b f d e))
となる.この結果が*graph2*と同じかどうかを
調べるには,これらが集合の集合になっていることから
集合の集合が等しいことを調べる手続きを作ればよいことに
なる.実際,
> (set-set= *graph2* (elist2alist *graph1*))
t
となって,*graph2*と*graph1*を
elist2alistしたものは同じものを指している
ことがわかる.
generated through LaTeX2HTML. M.Inaba 平成18年5月7日