Tarjan: Difference between revisions

50 bytes removed ,  4 years ago
m
Line 539:
sccs)
 
(define (make-graph hxs)
(define store (make-hash))
(define (make-node v) (hash-ref! store v (thunk (node v #f #f #f))))
Line 546:
;; reference instead of actual value. Had we use the actual value,
;; the key would be a mutable value, which causes undefined behavior
(for/hasheq ([(u vs) (in-hashlist hxs)]) (values (make-node u(first vs)) (map make-node (rest vs)))))
 
(tarjan (make-graph #hash'([0 . (1)]
[2 . (0)]
[5 . (2 6)]
[6 . (5)]
[1 . (2)]
[3 . (1 2 4)]
[4 . (5 3)]
[7 . (4 7 6)])))</lang>
 
{{out}}
Anonymous user