Struktura e të dhënave
Në shkencat kompjuterike, struktura e të dhënave ose strukturë me të dhëna, është një mënyrë e veçantë për ruajtjen dhe organizimin e të dhënave në një kompjuter në mënyrë që të mund të përdoren në mënyrë efikase [1][2][3].Më saktësisht, një strukturë të dhënash është një koleksion vlerash të dhënash, marrëdhëniet midis tyre dhe funksionet ose operacionet që mund të aplikohen mbi të dhënat, pra, është një strukturë algjebrike mbi të dhënat.
Perdorimi
[Redakto | Redakto nëpërmjet kodit]Strukturat e të dhënave shërbejnë si bazë për llojet abstrakte të të dhënave (ADT). ADT përcakton formën logjike të llojit të të dhënave, ndërsa struktura e të dhënave zbaton formën fizike të këtij lloji të të dhënave.[4]
Lloje të ndryshme strukturash të të dhënave janë të përshtatshme për lloje të ndryshme aplikimesh, dhe disa janë shumë të specializuara për detyra specifike. Për shembull, bazat relacionale zakonisht përdorin indekset B-tree për marrjen e të dhënave[5], ndërsa zbatimet e kompajlerëve zakonisht përdorin tabelat hash për të kërkuar identifikues.[6]
Parimet themelore
[Redakto | Redakto nëpërmjet kodit]Strukturat e të dhënave janë bazuar në përgjithësi në aftësinë e një kompjuteri për të gjetur dhe ruajtur të dhënat në çdo vend në kujtesën e saj, të përcaktuara nga një adresë – një varg që vetë mund të ruhet në memorie dhe manipulohet nga programi. Kjo aftësi u lejon programeve të manipulojnë drejtpërdrejt vargjet e adresave për të përmirësuar efikasitetin e ruajtjes dhe rikthimit të të dhënave, duke theksuar lidhjen e ngushtë midis arkitekturës së kujtesës dhe strukturave logjike të të dhënave.[7]
Bashkësia e strukturave të të dhënave
[Redakto | Redakto nëpërmjet kodit]Strukturat e të dhënave që më shpesh përdorwn janë : array, linked list, hash-table, heap, Tree (Binary Tree, B-tree, red-black tree, trie). Po ashtu, stack, dhe queue janë të zakonshme për modelimin e proceseve të radhitjes ose grumbullimit të të dhënave. Këto struktura zgjidhen bazuar në nevojat specifike të problemeve që trajtohen. Për shembull, një priority queue, e implementuar shpesh me heaps, siguron që elementët me prioritet më të lartë të përpunohen të parët, duke ofruar operacione efikase si insert dhe delete-max, që janë të dobishme për sistemet e planifikimit.[8]
Deklarimi i strukturave
[Redakto | Redakto nëpërmjet kodit]Strukturat, para se të shfrytëzohen, duhet të definohen, duke e përdorur komandën struct. Kjo komandë në formë të përgjithshme shkruhet:
struct e { t1 x1; t2 x2; ...... tn xn; };
ku janë: e – emri i strukturës. t1, t2, …, tn – tipet e të dhënave në komponentet e strukturës. x1, x2, …, xn – variablat në komponentet e strukturës. Variablat që përfshihen në strukturë si dhe tipet e tyre shënohen brenda kllapave dhe njihen si anëtarë të strukturës, ose edhe komponente të strukturës. Definimi i strukturës pëfundon me pikëpresje (;). Nëse, p.sh., duam që të dhënat e tipeve të ndryshme të një personi, siç janë: emri, viti i lindjes dhe qyteti i banimit, t'i marrim si komponente të strukturës me emër person, definimi përkatës do të duket:
struct person { char emri[8]; int viti; char qyteti[10]; };
Në këtë mënyrë, të dhënave të tipeve të ndryshme u është shoqëruar emri i përbashkët person, me çka lehtësohet ruajtja dhe shfrytëzimi i tyre gjatë përpunimit.
Libra të tjerë
[Redakto | Redakto nëpërmjet kodit]- Donald Knuth, The Art of Computer Programming, vol. 1. Addison-Wesley.
- Dinesh Mehta and Sartaj Sahni Handbook of Data Structures and Applications, Chapman and Hall/CRC Press, 2007.
- Niklaus Wirth, Algorithms and Data Structures
- Agni Dika, "Programimi i Orientuar në Objekte në C++"
Burimi
[Redakto | Redakto nëpërmjet kodit]- ^ Paul E. Black (ed.), entry for data structure in Dictionary of Algorithms and Data Structures. U.S. National Institute of Standards and Technology. 15 December 2004. Online version Arkivuar 3 shkurt 2010 tek Wayback Machine Accessed 2009-05-21.
- ^ Entry data structure in the Encyclopædia Britannica (2009) Online entry accessed on 2009-05-21.
- ^ "Data structure | Algorithms, Trees & Arrays | Britannica". www.britannica.com (në anglisht). 2024-12-11. Marrë më 2024-12-15.
- ^ "Abstract Data Types". Virginia Tech - CS3 Data Structures & Algorithms (në anglisht). Arkivuar nga origjinali më 2023-02-10. Marrë më 2023-02-15.
- ^ Gavin Powell (2006). "Chapter 8: Building Fast-Performing Database Models". Beginning Database Design (në anglisht). Wrox Publishing. ISBN 978-0-7645-7490-0. Arkivuar nga origjinali më 2007-08-18.
{{cite book}}
: Mirëmbajtja CS1: Adresë e papërshtatshme (lidhja) - ^ "1.5 Applications of a Hash Table". University of Regina - CS210 Lab: Hash Table. Arkivuar nga origjinali më 2021-04-27. Marrë më 2018-06-14.
- ^ Vaishnavi, Gunjal; Shraddha, Gavane; Yogeshwari, Joshi (2021-06-21). "Survey Paper on Fine-Grained Facial Expression Recognition using Machine Learning" (PDF). International Journal of Computer Applications (në anglisht). 183 (11): 47–49. doi:10.5120/ijca2021921427.
- ^ Nievergelt, Jürg; Widmayer, Peter (2000-01-01), Sack, J. -R.; Urrutia, J. (red.), "Chapter 17 - Spatial Data Structures: Concepts and Design Choices", Handbook of Computational Geometry (në anglisht), Amsterdam: North-Holland, fq. 725–764, ISBN 978-0-444-82537-7, marrë më 2023-11-12