next up previous
Next: 6.5 隣接点リスト集合への変換 Up: 6 グラフ Previous: 6.3 頂点リスト

6.4 隣接点リスト

*graph1*の表現の場合に,ある頂点を与えた場合に その隣接点を得る関数adjacency-listは,たとえば,
(defun adjacency-list (v g)
  (node-remove v (adjacency-list-aux v g)))

(defun adjacency-list-aux (v g)
  (cond
      ((null g) nil)
    ((node-member v (car g))
     (node-union (car g)
            (adjacency-list-aux v (cdr g))))
    (t (adjacency-list-aux v (cdr g)))))
というように定義すると,
> (adjacency-list 's *graph1*)
(d a) 
> (adjacency-list 'f *graph1*)
(e)
という具合になる.

generated through LaTeX2HTML. M.Inaba 平成18年5月7日