ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-24, Friday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Array ගැටලුව හා O(1) ප්‍රවේශය: Python, JavaScript උදාහරණ සහ ශ්‍රී ලංකා සංවර්ධකයින්ට වැදගත්කම

Array ගැටලුව හා O(1) ප්‍රවේශය: Python, JavaScript උදාහරණ සහ ශ්‍රී ලංකා සංවර්ධකයින්ට වැදගත්කම

ඔබට කේතයකදී ලූප් එකක් භාවිතා කරමින් අඩු අගයන් ඉවත් කරන්නේ කොහොමද කියලා සිතලා බලන්න. Python හෝ JavaScript වල ලුප් එකක් පාවිච්චි කරද්දී අපේක්ෂිතව සියලු අගයන් ඉවත් නොවී, එකක් ඉතිරි වෙලා පෙනෙන්නේ බොහොම අමාරුයි.

උදාහරණයක් ලෙස scores = [45, 30, 88, 92, 15, 67] ලැයිස්තුවේ 50 ට අඩු අගයන් ඉවත් කිරීමට ලුප් එකක් ලියනවා. Python හි remove() ක්‍රමය හෝ JavaScript හි splice() ක්‍රමය භාවිතා කළත්, අවසානයේ [30, 88, 92, 67] වැනි අසමත් ප්‍රතිඵලයක් ලැබේ. මෙය අහඹු වැරදි නොව, අරේ (array) එකේ මූලික ආකෘතියේ ගැටළුවක්.

අරේ කියන්නේ මොනවාද? පරිගණක මට්ටමේදී, අරේ යනු එකම, අවිච්චිත්‍රිත මතක බ්ලොක් එකක්. ඒ බ්ලොක් තුළ ඉලක්කම් එකිනෙකට එකම දුරින් පිහිටා ඇති නිසා, scores[3] වැනි අගයක් ලබා ගැනීමට ගණිත සූත්‍රයක් (ආරම්භ ස්ථානය + 3 × එක් අංගයේ ප්‍රමාණය) පමණක් අවශ්‍ය වේ. මේ නිසා අරේ අංග ප්‍රවේශය O(1) වේ.

කෙසේ වෙතත්, අංගයක් මකා දැමීමෙන් පසු පසුබැසී ඇති අංගයන් සියල්ලක් වමට සෙට් කරගත යුතුය. මේ සෙට් කිරීම O(n) කාල සංකීර්ණතාවක් ඇති මතක ගමනක්, එය ලුප් එකේ ඉන්දකය (cursor) සමඟ ගැටළුවක් ඇති කරයි. ලුප් එක ඉන්දකය 0 සිට පටන් ගනී, 45 මකා දැමීමෙන් පසු 30 නව 0 ස්ථානයට යයි, නමුත් ඉන්දකය 1 වෙත යන නිසා 30 නැවත පරීක්ෂා නොවේ. එමනිසා එය ඉතිරිවෙයි.

මෙම ගැටලුව විසඳීමට දෙකක් කළ හැකිය:

  • අරේ පසුපසින් ආරම්භ කරමින් ඉන්දකය වමට සෙට් වීමෙන් පසු පරීක්ෂා කිරීම (reverse iteration).
  • මුල් අරේ වෙනස් නොකර, නව අරේ එකක් සාදීම (list comprehension).

දෙවන ක්‍රමය වඩාත් නිසි හා පිරිසිදු මාර්ගයකි, එය සෙට් කිරීමේ ගැටළුව පූර්ණයෙන්ම නිරෝධායනය කරයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයින් සහ විශ්වවිද්‍යාල සිසුන්ට අරේ පිළිබඳ මූලික අවබෝධයක් තිබීම ඉතා වැදගත්. මෙය මූලික දත්ත සංග්‍රහණයක්, මතක කළමනාකරණය, සහ කාර්යක්ෂම ඇල්ගොරිතම් ලිවීමේ පදනම වේ. එමෙන්ම, ව්‍යාපාරික පරිසරයේ දත්ත ප්‍රෝසෙසිං, API සැකසීම, සහ රියල්-ටයිම් විශ්ලේෂණයන්හි අරේ භාවිතය ඉක්මන් සහ අඩු සම්පත් වැය කරයි. අරේ සම්බන්ධ වැරදි හඳුනාගෙන නිවැරදිව කළමනාකරණය කිරීම, දෝෂ සහිත පද්ධති වලින් පසුබැසීමේ අවදානම අඩු කර, ඉදිරි කාලීන තාක්ෂණික ව්‍යාපාර සඳහා විශ්වාසනීය පදනමක් සපයයි.

අරේ ගතිකත්වය, විශාල දත්ත සමුදා සමඟ වැඩ කිරීමේදී මතක විහිදුම් (memory fragmentation) වලට හේතු විය හැකි බැවින්, නිවැරදි ආකාරයේ append සහ pop ක්‍රියාකාරකම් පිළිබඳ අවබෝධය සතු වීම, සිසුන්ට සහ සංවර්ධකයින්ට ඉදිරියේදී වැඩි පරිමාණ ව්‍යාපෘති හසුරවීමේදී අත්‍යවශ්‍ය වේ.

එබැවින්, අරේ පිළිබඳ මේ මූලික නිරීක්ෂණය, ශ්‍රී ලංකාවේ තාක්ෂණික විද්‍යාත්මක පරිසරයට නව දෘෂ්ටියක් ලබා දේ.

💡 ඔබේ කේතය නිවැරදිව ලියන්න – අදම අරේ සංකල්පය ඉගෙන ගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Array #Python #JavaScript #Performance #SriLanka