அல்கோரிதம்coordinate compression

Coordinate Compression — அடிப்படை

TT
Testlaa Team
May 15, 20261 min read

ஒருங்கிணைப்பு சுருக்கம் — பெரிய மதிப்புகளை சிறு தரவரிசை (0..k-1) ஆக மாற்றுதல்.

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

வரைபடம், விளையாட்டு வடிவியல், நேர்காணல் — ஒருங்கிணைப்பு மற்றும் வரிசை.

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

அனைத்து x,y சேகரி → தனித்துவம் வரிசை → குறியீடு = தரவரிசை. பின் தேவையானால் மீட்டமை.

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

def compress(vals: list[int]) -> tuple[list[int], dict[int, int]]:
    uniq = sorted(set(vals))
    rank = {v: i for i, v in enumerate(uniq)}
    return [rank[v] for v in vals], rank


xs = [1000000000, 5, 1000000000, 42]
compressed, _ = compress(xs)
print(xs, "->", compressed)

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

  • இரு அச்சும் சுருக்கம்.
  • நகல் மதிப்பு குறியீடு.
  • தூரம் குழப்பம்.

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

  • நிகழ்வு ஒருங்கிணைப்புகள் மட்டும்.
  • hash map தரவரிசை.

Tags:

Coordinate tricksPythonமாணவர்கள்