Zum Beispiel versuche ich diesen Code zu verstehen1:
Code: Select all
def _get_child_candidates(self, distance, min_dist, max_dist):
if self._leftchild and distance - max_dist < self._median:
yield self._leftchild
if self._rightchild and distance + max_dist >= self._median:
yield self._rightchild
Code: Select all
result, candidates = [], [self]
while candidates:
node = candidates.pop()
distance = node._get_dist(obj)
if distance = min_dist:
result.extend(node._values)
candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
return result
Wird eine Liste zurückgegeben? Ein einzelnes Element? Wird es noch einmal aufgerufen? Wann werden nachfolgende Anrufe eingestellt?
1. Dieser Code wurde von Jochen Schulz (jrschulz) geschrieben, der eine großartige Python-Bibliothek für metrische Räume erstellt hat. Dies ist der Link zur vollständigen Quelle: Modul mspace.
Mobile version