தரவமைப்பு
இக்கட்டுரை தமிழாக்கம் செய்யப்பட வேண்டியுள்ளது. இதைத் தொகுத்துத் தமிழாக்கம் செய்வதன் மூலம் நீங்கள் இதன் வளர்ச்சியில் பங்களிக்கலாம். |
தரவமைப்புக் கணினியிலில் தரவை திறமையாகக் கணினியில் ஓழுங்காக்கு முறை. சில பல சுருக்கமான தரவு வகைகள் தரவமைப்பு அமல்படுத்தி கணித இயக்கங்களுக்கு வழிவகுக்கும்.
![](http://178.128.105.246/host-http-upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg/315px-Hash_table_3_1_1_0_1_0_0_SP.svg.png)
ஒவ்வொரு செயலிக்குமான ஆற்றலில் தரவமைப்பு குறிப்பிடத்தக்க பங்குள்ளது. செயலின் வேகத்திற்கு தரவு மீட்புக்குத் தரவமைப்பு முக்கியப் பங்களிக்கிறது. எ.டு: தரவுத்தளம், தொகுப்பி. முதன்மை நினைவகம் மற்றும் இரண்டாம் நிலை நினைவகம் வேலைப்பாட்டுக்கு மூலக்கூறு தரவமைப்பு. படிமுறை மற்றும் தரவமைப்பு செயலியின் சிறந்த ஓட்டத்திற்கு இரு கண்கள்.
எடுத்துக்காட்டுகள்
தொகுபல வகையான தரவமைப்புகள் எளிய தொடக்க நிலை தரவு வகையால் கட்டமைக்கப்பட்டது:
- நெடு வரிசை (array) பல வரிசைப்படுத்தப்பட்ட பகுதியால் ஒன்றிணைக்கப்பட்டது. ஒவ்வொரு பகுதியும் முழு எண் கொண்டு அணுகப்படுகின்றன. இவை நினைவகத்தில் ஒரு தொடராக வைக்கப்படுகிறது. இதன் மொத்த கொள் அளவு நிரல் ஒட்டத்தில் தீர்மானிக்கப்படுவதில்லை.
- தொடர்புறு அணி (associative array) நெடுவரிசையின் நெகிழ்வான தொடர்ச்சி. இவை திறவு-மதிப்பு இணையாகக் கட்டமைக்கப்பட்டது. இதன் குறியீடு எண் அல்லது எழுத்துச் சரமாக இருக்கலாம்.
- தொடர் பட்டியல் (linked list) என்பது ஒரு வகையான தரவமைப்பு; இதில் சேமிக்கப்பட்ட மதிப்புகள் ஒன்றை ஒன்று தொடர்ச்சியாக "அடுத்த" மதிப்பின் குறிப்பை (விலாசத்தை) மதிப்பின் கூடிய அம்சமாக சேர்ந்து பதிவு செய்திருக்கும். உதாரணமாக [2,99,27] என்ற எண்களை தொடர் பட்டியலில் சேமித்தால், 2 மதிப்பு அதன் கூடுதல் அம்சமாக 99 மதிப்பின் குறிப்பையும் சேமிக்கும். மதிப்பு 99 என்பது அடுத்த மதிப்பான 2-இன் குறிப்பையும் சேமிக்கும். ஆனால் மதிப்பு 2 என்பது அடுத்த குறிப்பை காலியாகவே வைத்திருக்கும். இதுவே தொடர் பட்டியல் என்றாகும்.[1]
- அடுக்கு (stack) என்ற தரவைப்பு பல மதிப்புகளை கொள்ளும்; இதன் பெரிதான அம்சம் மதிப்புகளை அடுக்கு தரவில் நுழைக்கும் வரிசை, இந்த மதிப்பினை அணுகும் வரிசைக்கு நேர் மாறானது. அதாவது [2,99,27] என்ற எண்களை வரிசையாக அடுக்கு தரவில் நுழைத்தால் - முதலில் 2, பின்பு 99, கடைசியாக 27. இதையே அடுக்கில் இருந்து "மேலாக_எடு" என்ற செயல்முறையால் அணுகினால் நாம் நேர்மாறான வரிசையில் மதிப்புகளை அணுகலாம் - முதலில் 27, அடுத்து 99, கடைசியில் 2. இதுவே அடுக்கு தரவமைப்பின் அம்சம்.
- ஆவணம் (record) ஒரு மொத்த தரவமைப்பு. இஃது ஒரு கூட்டுத் தரவமைப்பு. இன்ன பிற தரவமைப்பின் மதிப்புகளை இஃது உள்ளடக்கும்.
- தொகுப்பு (set) ஒரு நகலில்லாத மதிப்புகளைச் சேகரிக்கும் தரவமைப்பு. மதிப்புகளின் வரிசைக்கு எந்த உத்தரவாதமுமில்லை.
- முனை-ஓரம் அடைவு (graph) மற்றும் மரம் (tree) கணுக்களால் இணைக்கப்பட்ட சுருக்கமான தரவு வகை. ஒரு கணு (அல்லது நுனி [node]) மற்ற கணுக்கான தொடர்பை தன்னகத்தே (அல்லது தனியாக) ஓரம் (edge) ஒன்றை கொண்டது. முனை-ஓரம் அடைவில் தேடல் மற்றும் வரிசைப்படுத்தும் பணிகளில் பயன்படுத்தப்படுகிறது. இவற்றின் அமைப்பு மதிப்பினால் பின்னப்பட்டுள்ளது.
- பிரிவு(class) ஆவணம் மற்றும் வழிமுறையால் இயக்கப்படும் தரவமைப்பு. இது பொருள் நோக்கு நிரலாக்கத்தின் அடித்தளமாகும்.
ஆதரவு
தொகுபல அடிதள நிரலாக்க மொழிகள் சிறு அளவு தரவமைப்புகளுக்கு ஆதரவளிக்கும். உயர்மட்ட நிரலாக்க மொழிகள் நெடுவரிசை, தொடர்புறு அணி இன்ன பிற தரவைப்புகளுக்கு ஆதரவளிக்கிறது. எ.டு: பைத்தான் நிரலாக்க மொழி நெடுவரிசை, தொடர், தொடர்புறு அணி, தொகுப்பு, ஐக்கியம் போன்ற தரவமைப்பல் உள்ளடக்கப்பட்டது.