I have an array (arr
) of elements, and a function (f
) that takes 2 elements and returns a number.
I need a permutation of the array, such that f(arr[i], arr[i+1])
is as little as possible for each i
in arr
. (and it should loop, ie. it should also minimize f(arr[arr.length - 1], arr[0])
)
Also, f
works sort of like a distance, so f(a,b) == f(b,a)
I don't need the optimum solution if it's too inefficient, but one that works reasonable well and is fast since I need to calculate them pretty much in realtime (I don't know what to length of arr
is, but I think it could be something around 30)