Ho due insiemi di punti nel piano bidimensionale. Voglio trovare la coppia più vicina di punti tale che , e la distanza euclidea tra sia la più piccola possibile. Quanto efficacemente può essere fatto? Può essere fatto in tempo, dove?
So che se mi viene dato un singolo set , allora è possibile trovare la coppia di punti più vicina nel tempo usando un algoritmo standard di divisione e conquista . Tuttavia, tale algoritmo non sembra generalizzare al caso di due insiemi, poiché non esiste alcuna connessione tra la distanza tra i due punti più vicini all'interno di o rispetto alla distanza tra i due punti più vicini tra quegli insiemi.
Ho pensato di memorizzare l'insieme in un albero -d, quindi per ogni , usando una query del vicino più vicino per trovare il punto più vicino in a . Tuttavia, il tempo di esecuzione nel peggiore dei casi potrebbe essere negativo quanto tempo. Ci sono risultati che dicono che se i punti di sono distribuiti casualmente, il tempo di esecuzione previsto per ogni query è , quindi otterremmo un algoritmo con tempo di esecuzione previsto se noi erano garantiti che i punti fossero distribuiti casualmente - ma sto cercando un algoritmo che funzionerà per qualsiasi raccolta di punti (non necessariamente distribuito casualmente).O ( n 2 ) T O ( registro n ) O ( n registro n )
Motivazione: un algoritmo efficiente sarebbe utile per questa altra domanda .