தரவு கட்டமைப்புகள்traversal patterns

Array Traversal Patterns (தமிழில் விளக்கம்)

TT
Testlaa Team
April 29, 20263 min read

Arrays என்பது மதிப்புகளை சேமிப்பதற்காக மட்டும் அல்ல.

Arrays-இன் உண்மையான சக்தி, அதில் உள்ள அனைத்து மதிப்புகளையும் செயலாக்கும் போது வெளிப்படும். அதற்காக traversal மிகவும் முக்கியமானது.


Traversal என்றால் என்ன?

Traversal என்பது ஒரு array-இல் உள்ள ஒவ்வொரு மதிப்பையும் ஒன்றன் பின் ஒன்றாக பார்க்கும் செயல் ஆகும்.

இதை ஒரு எளிய உதாரணமாக நினைத்துப் பாருங்கள்:

  • ஒரு வகுப்பில் வருகைப் பதிவு எடுப்பது போல
  • ஒவ்வொரு மாணவரையும் தனித்தனியாக சரிபார்ப்பது போல

நீங்கள் யாரையும் தவிர்க்க முடியாது. அனைத்து மதிப்புகளையும் கட்டாயமாக பார்க்க வேண்டும்.


Traversal ஏன் முக்கியம்?

பெரும்பாலான array கேள்விகளில், நீங்கள் கீழ்கண்ட செயல்களை செய்ய வேண்டும்:

  • அனைத்து மதிப்புகளையும் கூட்டுவது (sum)
  • மிகச் சிறிய மதிப்பை கண்டுபிடிப்பது (minimum)
  • மிகப் பெரிய மதிப்பை கண்டுபிடிப்பது (maximum)
  • ஒரு நிபந்தனைக்கு ஏற்ப எண்ணிக்கை காண்பது (count)

இந்த செயல்களை செய்ய ஒவ்வொரு மதிப்பையும் பார்க்க வேண்டும். அதனால் traversal மிகவும் அவசியமானது.


அடிப்படை Traversal (Index பயன்படுத்தி)

ஒரு உதாரணம் பார்க்கலாம்:

arr = [5, 10, 15]

for i in range(len(arr)):
    print(arr[i])

படிப்படியாக விளக்கம்

  • i = 0 -> arr[0] -> 5
  • i = 1 -> arr[1] -> 10
  • i = 2 -> arr[2] -> 15

Output:

5
10
15

மேலும் எளிய முறை (Recommended)

Python-இல் இன்னும் எளிய முறை உள்ளது:

for num in arr:
    print(num)

இங்கு num என்பது array-இல் உள்ள ஒவ்வொரு மதிப்பையும் நேரடியாக எடுத்துக்கொள்கிறது.

இந்த முறை ஏன் சிறந்தது?

  • படிக்க எளிதாக இருக்கும்
  • தவறுகள் ஏற்படும் வாய்ப்பு குறையும்
  • code சுத்தமாக இருக்கும்

Traversal-இன் Time Complexity

Traversal எப்போதும் O(n) ஆகும்.

ஏனெனில் ஒவ்வொரு மதிப்பும் ஒருமுறை பார்க்கப்படுகிறது.


Pattern 1: Array-இன் கூட்டுத்தொகை (Sum)

உதாரணம்:

marks = [80, 75, 90, 85]

படி 1: ஒரு மாறி உருவாக்கவும்

total = 0

இந்த மாறி மொத்த மதிப்பை சேமிக்க பயன்படும்.

படி 2: Traverse செய்து update செய்யவும்

for m in marks:
    total += m

செயல்முறை:

தொடக்கம் -> total = 0
0 + 80 = 80
80 + 75 = 155
155 + 90 = 245
245 + 85 = 330

படி 3: முடிவை அச்சிடவும்

print(total)

Output:

330

Time Complexity: O(n)


Pattern 2: Minimum மற்றும் Maximum கண்டறிதல்

உதாரணம்:

arr = [300, 150, 450, 200]

படி 1: தொடக்க மதிப்பு அமைக்கவும்

min_val = arr[0]
max_val = arr[0]

முதலாவது மதிப்பை ஆரம்பமாக எடுத்துக்கொள்கிறோம்.

படி 2: Traverse செய்து ஒப்பிடவும்

for x in arr:
    if x < min_val:
        min_val = x
    if x > max_val:
        max_val = x

சிந்தனை:

தொடக்கம்: min = 300, max = 300
150 -> min மாற்றம்
450 -> max மாற்றம்
200 -> மாற்றம் இல்லை
இறுதி: min = 150, max = 450

படி 3: முடிவை அச்சிடவும்

print(min_val, max_val)

Time Complexity: O(n)


முக்கிய கருத்து: One-Pass Thinking

கீழ்க்கண்ட பிரச்சினைகளை பார்க்கும் போது:

  • sum
  • min / max
  • count

இந்த முறையை பின்பற்றவும்:

  1. ஒரு மாறி உருவாக்கவும்
  2. array-ஐ ஒருமுறை traverse செய்யவும்
  3. ஒவ்வொரு மதிப்பிற்கும் update செய்யவும்

வாழ்வியல் உதாரணம்

உங்கள் பணப்பையில் உள்ள பணத்தை எண்ணுவது போல நினைத்துப் பாருங்கள்:

  • ஒவ்வொரு நோட்டையும் ஒன்றன் பின் ஒன்றாக எடுப்பீர்கள்
  • மொத்தத்தில் சேர்ப்பீர்கள்
  • ஒரே முறையில் முடித்துவிடுவீர்கள்

அதே விதமாக traversal செயல்படுகிறது.


இறுதி குறிப்புகள்

  • Traversal என்பது ஒவ்வொரு மதிப்பையும் ஒன்றன் பின் ஒன்றாக பார்ப்பது ஆகும்.
  • பெரும்பாலான array செயல்பாடுகள் traversal-ஐ சார்ந்தவை.
  • Python-இல் for num in arr பயன்படுத்துவது சிறந்தது.
  • Sum, Min, Max எல்லாம் ஒரே one-pass முறையை பின்பற்றுகின்றன.
  • Traversal-இன் time complexity பொதுவாக O(n) ஆகும்.

Tags:

ArraysTraversalPatternsதரவு கட்டமைப்பு