Dijkstra's algorithm: Difference between revisions

Line 1,363:
(defun paths (c g z v)
(if (eql c g) (push `(,(reverse v) ,z) *r*)
(loop for a in (nodes c) for b = (cadr a) do
(unless (member (cadr a)b v)
(paths (cadr a)b g (+ (cddr a) z) (cons b v))))))
(cons (cadr a) v))))))
(defun nodes (c)
Line 1,395 ⟶ 1,394:
(defun paths (w c g z v)
(if (eql c g) (push `(,(reverse v) ,z) *r*)
(loop for a in (nodes c w) for b = (cadr a) do
(unless (member (cadr a)b v)
(paths w (cadr a)b g (+ (cddr a) z) (cons b v))))))
(cons (cadr a) v))))))
(defun nodes (c w)
Anonymous user