2024 年 Clojure 调查问卷! 中分享您的想法。

欢迎!有关如何操作的更多信息,请参阅 关于页面

0
core.rrb-vector

在 rrb-vector 上实现高效逆序是否可能,结果为逆序的 rrb-vector?这在“旅行推销员问题”的 2-opt 邻域局部搜索场景中将非常有用。完整操作如下。

给定:a = (link: a_0, a_1, ..., a_{n-1}, a_n, a_{n+1}, ..., a_{n+k-2}, a_{n+k-1}, a_{n+k}, ..., a_{n+k+m-1})
目标: (link: a_0, a_1, ..., a_{n-1}, a_{n+k-1}, a_{n+k-2}, ..., a_{n+1}, a_n, a_{n+k}, ..., a_{n+k+m-1})

描述操作的可能 Clojure 实现

(let [x (subvec a 0 n), y (subvec a n (+ n k)), z (subvec a (+ n k))] (catvec x, (reverse-vec y), z))

1 个回答

0
参考: https://clojure.atlassian.net/browse/CRRBV-2 (由 alex+import 报告)
...