அல்கோரிதம்versioned segment tree

Versioned Segment Tree — அடிப்படை

TT
Testlaa Team
May 15, 20261 min read

Versioned Segment Tree — இடைவெளி கேள்விகள்/புதுப்பிப்புகளுக்கான மரக் கட்டமைப்பு.

உண்மை உலகில் இது ஏன் முக்கியம்?

காலத் தொடர், விளையாட்டு தரவு, நேர்காணல் — வேகமான இடைவெளி கேள்விகள்.

மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)

இடைவெளி [l,r] கேள்வி/புதுப்பிப்பு O(log n); மர உயரம் ≈ log n; 1-அடுக்கு குறியீட்டில் 4n அளவு.

Pythonில் முயற்சி செய்வோம்

versions: list[list[int]] = []


def snapshot(arr: list[int]) -> int:
    versions.append(arr.copy())
    return len(versions) - 1


a = [1, 2, 3]
snapshot(a)
a[0] = 99
print(versions[0], a)

பொதுவான தவறுகள்

  • 0-அடுக்கு/1-அடுக்கு குழப்பம்.
  • மர அளவு n மட்டுமல்ல 4n.

முக்கிய பாடங்கள்

  • கையெழுது சிறு உதாரணம் வரை.
  • புள்ளி புதுப்பிப்பு முதல், பின் வரம்பு.

Tags:

Segment tree & range queriesPythonமாணவர்கள்