Não. Você não pode fazer melhor que no pior caso.Θ ( n2)
Considere um arranjo de pontos em que cada par de pontos esteja à distância um do outro. (Essa é uma configuração possível.) Então você não pode fazer melhor do que examinar todas as arestas. Em particular, se houver alguma aresta que você não examinou, um adversário poderá escolher o comprimento dessa aresta para 0,9 , 1,0 ou 1,1 ; todas essas escolhas são consistentes com todas as outras observações que você fez e com os requisitos de uma métrica (por exemplo, com a desigualdade do triângulo), portanto, todas as três são possíveis; mas eles exigem saídas diferentes. Portanto, se o seu algoritmo não examinar essa aresta e emitir alguma coisa, um adversário sempre poderá escolher um comprimento para a aresta não examinada que fará com que a saída do seu algoritmo esteja errada.1 10,91.01.1
No entanto, se você souber que todos os pontos vivem em (mesmo que você não tenha suas coordenadas), o problema pode ser resolvido medindo-se as distâncias O ( ( d + 1 ) n ) , assumindo que não há degenerescências (nenhum subconjunto de d + 1 pontos são co-planares).RdO ( ( d+1)n)d+1
Em particular, escolha pontos aleatoriamente. Estes serão pontos de ancoragem. Dadas as distâncias aos pares, é possível calcular coordenadas para elas que sejam consistentes com as distâncias aos pares. Agora, para todos os outros pontos P , calcule a distância de P a cada um dos pontos de ancoragem. Usando triangulação e estas distâncias, você pode calcular a localização de P em relação aos pontos de ancoragem e, portanto, as coordenadas para P . Faça isso para cada ponto não-âncora Pd+1PPPPP. Agora você tem coordenadas para cada ponto e pode usá-las para encontrar o ponto central sem pedir ao oráculo que lhe forneça mais distâncias aos pares. Eu não sei se este último passo pode ser feito mais rápido do que tempo , mas isso pode ser feito sem medir nenhum mais distâncias de pares.O(n2)