J'essayais de résoudre ce problème et j'ai trouvé une solution comme ci-dessous, ce qui est assez différent de l'algorithme "Wikipedia". Je n'arrive pas à comprendre ce qui ne va pas avec ma solution, qui est aussi O (nlogn).Placer une paire de points une approche différente
Entrée: jeu de coordonnées le long de l'axe x-y. {(2,4), (5,3), (3,7), (4,2), (6,3)}
Ma solution:
- Trier ensemble donné wrt x-coordonnées. {(2,4), (3,7), (4,2), (5,3), (6,3)}. Complexité O (nlog)
- Trouvez la min {distance entre paires consécutives}, appelons-la min_x. Complexité O (n)
- Trier un ensemble donné par ses coordonnées y. {(4,2), (5,3), (6,3), (2,4), (3,7)}. Complexité O (nlog)
- Trouvez la min {distance entre paires consécutives}, appelons-la min_y. Complexité O (n)
- min_d = min (min_x, min_y) la paire qui a abouti à min_d est la paire ayant la distance la plus courte.
Est-ce faux? Qu'est-ce que je rate?
"Est-ce faux?" <- Alors vos tests passent? – timgeb
Je veux dire, je ne suis pas en mesure de trouver un contre-exemple pour prouver que c'est faux. C'est ce qui crée la confusion. –
dans l'exemple que vous donnez, les ensembles de données ne semblent pas correspondre. –