Trovare il gruppo più grande di punti contrassegnati

1

Attualmente sto lavorando per sviluppare un programma che includa un array di 4 colonne e circa 200.000 righe. Ogni colonna rappresenta x, y, z (coordinate) e una bandiera che indica se questo punto è rosso o no (booleano 1 per sì, 0 per no). Sto cercando un modo per passare attraverso questi punti e trovare il più grande fascio di punti rossi all'interno dell'array dato.

Attualmente, la mia idea è di iniziare con un numero casuale compreso tra 0 e 1-len (x). Questo mi darebbe un indice casuale per iniziare a controllare i punti. Ho già una funzione scritta che usa un KDTree per trovare il vicino più prossimo del punto casuale e controlla se è rosso. Da qui, comincio a perdersi. Il mio istinto mi dice che dovrei cercare il prossimo punto più vicino, controllando se è rosso o meno, e così via. Tuttavia, mi sento come se mi mancasse molto. Non sono sicuro di come controllare se ho effettivamente il pacchetto più grande.

Se aiuta, è sicuro assumere che questo fascio di punti reali sia sfericamente simmetrico, e mentre non sarà direttamente all'origine (0,0,0), si può presumere che abbia un centro no più grande di 1 unità da (0,0,0).

Sarebbe di grande aiuto per me se qualcuno potesse indicarmi la giusta direzione. Grazie!

    
posta iLikeProgramming 18.02.2015 - 15:25
fonte

0 risposte

Leggi altre domande sui tag