3-d中的一個點(diǎn)由(x,y,z)定義。任何兩個點(diǎn)(X,Y,Z)和(x,y,z)之間的距離d為d = Sqrt [(Xx)^ 2 +(Yy)^ 2 +(Zz)^ 2]?,F(xiàn)在,文件中有一百萬個條目,每個條目都是某個空間點(diǎn),沒有特定的順序。給定任意點(diǎn)(a,b,c),請找到與其最近的10個點(diǎn)。您將如何存儲百萬點(diǎn),以及如何從該數(shù)據(jù)結(jié)構(gòu)中檢索這10點(diǎn)。
3 回答

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個贊
如果一百萬個條目已經(jīng)在文件中,則無需將它們?nèi)考虞d到內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)中。只需保留到目前為止找到的前十個點(diǎn)的數(shù)組,然后掃描一百萬個點(diǎn),即可隨時更新前十個列表。
這是點(diǎn)數(shù)的O(n)。
添加回答
舉報
0/150
提交
取消