嵌套映射到表示 Clojure 中的边的元组序列
Nested map to sequence of tuples representing edges in Clojure
如何在惯用的 Clojure 中表达以下转换?
(def m
{:a {:b {:c nil
:d nil}
:e nil}})
(map->edges m) ; =>
([:a :b] [:b :c] [:b :d] [:e nil] [:d nil] [:a :e] [:e nil])
我不关心向量在结果中出现的顺序,所以深度优先或呼吸优先搜索策略都可以。
如何在惯用的 Clojure 中表达以下转换?
(def m
{:a {:b {:c nil
:d nil}
:e nil}})
(map->edges m) ; =>
([:a :b] [:b :c] [:b :d] [:e nil] [:d nil] [:a :e] [:e nil])
我不关心向量在结果中出现的顺序,所以深度优先或呼吸优先搜索策略都可以。