;;; ---------------------------------------------------------------------------
-#+ignore ;;; shit
+#+ignore ;;; shoot
(defmethod minimum-spanning-tree ((vertex-list list)
&key
(edge-sorter #'edge-lessp-by-weight))
(iterate-container
vertex-list
(lambda (v)
- (mst-make-set v)))
-
-
+ (mst-make-set v)))
(loop for edge in (sort v-edges edge-sorter) do
(bind ((v1 (source-vertex edge))
;;; internals
;;; ---------------------------------------------------------------------------
-(defmethod add-vertex ((graph basic-graph) (value basic-vertex) &key if-duplicate-do)
+(defmethod add-vertex
+ ((graph basic-graph) (value basic-vertex) &key if-duplicate-do)
(declare (ignore if-duplicate-do))
(values value))
;;; ---------------------------------------------------------------------------
-(defun map-shortest-paths (graph start-vertex depth fn &key (filter (constantly t)))
+(defun map-shortest-paths
+ (graph start-vertex depth fn &key (filter (constantly t)))
"Apply fn to each shortest path starting at `start-vertex` of depth `depth`. The `filter` predicate is used to remove vertexes from consideration."
(bind ((visited (make-container 'simple-associative-container
:test #'equal)))