Algoritme & struktura të dhënash

Fast & slow pointers

Në shqip: Treguesit e shpejtë dhe të ngadaltë

ShpjegimiSQ

Dy tregues që lëvizin me shpejtësi të ndryshme në të njëjtën listë: kur i shpejti arrin në fund, i ngadalti është në mes. E njëjta ide gjen ciklet dhe elementin e k-të nga fundi.

EnglishEN

Two pointers moving at different speeds along the same list: when the fast one reaches the end, the slow one is in the middle. The same idea finds cycles and the k-th element from the end.

Si ta mendosh

Si dy vrapues ku njëri vrapon dyfish më shpejt — kur ai mbaron, tjetri është në gjysmë.

Lexoje në anglisht

Like two runners, one twice as fast — when they finish, the other is halfway.

Shembull kodipython

ngadale = shpejt = koka
while shpejt and shpejt.tjetri:
    ngadale, shpejt = ngadale.tjetri, shpejt.tjetri.tjetri
print(ngadale.vlera)   # mesi

Terma të lidhur