Introduction to Algorithms içinde, O (n * logn) zamanında iki boyutlu alanda en yakın iki noktayı bulmaya ayrılmış bir bölüm var. google books adresinden kontrol edebilirsiniz. Aslında, herkese bunu tavsiye ederim, böylelikle divide-ve-conquer tekniklerini uyguladıkları yöntem çok basit, zarif ve etkileyici.
Sorununuza doğrudan genişletilemese de (7
değişkeni 2^101 - 1
ile değiştirilir), çoğu veri kümesi için düzgün olması gerekir. Yani, mantıksal rastgele girdiniz varsa, n
noktanın O(n*logn*m)
karmaşıklık verecek ve m
boyut sayısıdır.
Eğer Öklid alana sahip varsayarak hepsi bu düzenleme
. Örneğin, v
vektörünün uzunluğu sqrt(v0^2 + v1^2 + v2^2 + ...)
'dur. Ancak, metriği seçebiliyorsanız, algoritmayı optimize etmek için başka seçenekler de olabilir.
mi:
İşte onun yayınlanan gazeteniz? – Seth
İlgi çekici bir yer, 100 boyutlu bir alan nereden aldınız? –
soru, netlikten yoksundur. bu matematiksel bir soru mu? – Sarmaad