В раздумьях

Apr 12, 2010 23:30

можно ли этот алгоритм обобщить на 2 измерения/3 измерения?
если нет, есть ли что-то что выполняет ту же функцию?

module Closest where
import MergeSort

proxMerge [] l _ = l
proxMerge l [] _ = l
proxMerge a@(x:xs) b@(y:ys) x0 =
if    x0-x < y-x0
then x:(proxMerge xs b x0)
closest l i = proxMerge (reverse (fst tuple)) (snd tuple) (l!!i)
where tuple = splitAt i ( Read more... )

Leave a comment

Comments 3

vorber April 13 2010, 17:11:01 UTC
сишный код не скомпилится :P
а если перефигачить так чтобы скомпилился - выдает какуюто муйню :P

можно словами че оно делать должно?

Reply


vorber April 13 2010, 17:14:45 UTC
хыхы, сорри, в сях компилится, это в плюсах не компилится, в сях просто выдает segmentation fault по, в принципе, тем же причинам почему в плюсах не компилится :P

Reply

levantis April 14 2010, 20:37:07 UTC
это был скорее псевдоси, ибо:
1) там нет ни 1 инклюда
2) я даже не знал что функция правдо есть
3) я не инициализировал массив
4) там могли быть ошибки

но вообще я имел ввиду отсортировать массив, а потом по очереди брать ближайшие (по значению) элементы к данному, пользуясь тем, что массив отсортирован.

Reply


Leave a comment

Up