Vektori (struktura e të dhënave)

Në shkencën kompjuterike, një vektor ose array është një strukturë të dhënash e përbërë nga një koleksion elementesh ( vlerash ose ndryshoresh ), me të njëjtën madhësi kujtese (në byte), ku secili element identifikohet nga një indeks ose çelës i vektorit. Një vektor ruhet në mënyrë të tillë që pozicioni i secilit element të mund të llogaritet nga tuplli i tij e indeksit me një formulë matematikore.    Lloji më i thjeshtë i strukturës së të dhënave është një vektor linear, i quajtur gjithashtu grup njëdimensional.

Për shembull, një vektor prej dhjetë ndryshoresh të tipit int 32-bit (4-byte), me indekse nga 0 deri në 9, mund të ruhet si dhjetë fjalë në adresat e memories 2000, 2004, 2008, ... , 2036, (në hekzadecimal : 0x7D0, 0x7D4, 0x7D8, ..., 0x7F4 ) në mënyrë që elementi me indeks i të ketë adresën 2000 + ( i × 4).  Adresa e memories së elementit të parë të një grupi quhet adresa e parë, adresa e themelit ose adresa bazë.

Për shkak se koncepti matematikor i një matrice mund të përfaqësohet si një rrjet dy-dimensional, vektorët dy-dimensionale quhen gjithashtu "matrica". Në disa raste termi "vektor" përdoret në llogaritje për t'iu referuar një vektori, megjithëse tupllat dhe jo vektorët janë ekuivalenti më i saktë matematikor. Tabelat shpesh zbatohen në formën e vektorëve, veçanërisht tabelave të kërkimit ; fjala "tavolinë" përdoret ndonjëherë si sinonim i grupit.

Vektorët janë ndër strukturat e të dhënave më të rëndësishme dhe më të përdorura dhe përdoren nga pothuajse çdo program. Ata përdoren gjithashtu për të implementuar shumë struktura të tjera, si listat dhe stringat. Në shumë nga kompjuterat e sotëm dhe shumë pajisje të jashtme të ruajtjes, kujtesa është një vektor një-dimensional prej fjalësh, indekset e të cilave janë adresat e tyre. Procesorët, veçanërisht procesorët e vektorëve, janë shpesh të optimizuar për veprimet mbi vektorë.

Vektorët janë të dobishëm kryesisht sepse indekset e elementeve mund të llogariten në kohën e ekzekutimit . Ndër të tjera, kjo veçori lejon që një deklaratë e vetme përsëritëse të përpunojë në mënyrë arbitrare shumë elemente të një vektori. Për këtë arsye, elementët e një strukture të të dhënave të vektorit kërkohet të kenë të njëjtën madhësi dhe duhet të përdorin të njëjtën paraqitje të të dhënave. Seti i tupllave të vlefshëm të indeksit dhe adresat e elementeve (dhe si rrjedhim formula e adresimit të elementit) zakonisht, Garcia, Ronald; Lumsdaine, Andrew (2005). "MultiArray: a C++ library for generic programming with arrays". Software: Practice and Experience. 35 (2): 159–188. doi:10.1002/spe.630. ISSN 0038-0644. S2CID 10890293.  por jo gjithmonë,  janë të fiksuara ndërkohë që vektori është në përdorim.

Termi përdoret gjithashtu, veçanërisht në përshkrimin e algoritmeve, për të nënkuptuar vektorin shoqërues ose "vektorin abstrakt", një model teorik i shkencës kompjuterike (një lloj të dhënash abstrakte ose LDA (ang. ADT)) që synon të kapë vetitë thelbësore të vektorëve.