Datu-egitura

Datu-bilduma bat antolatzeko era edo moduetako bakoitza, datuen erabilera eraginkorra lortzeko asmoz egina (biltegiratzea, sailkatzea, bilatzea...).

Datu-egitura bat, konputagailuen programazioan, hainbat datu antolatzeko modu bat da, geroago datu horien tratamendua errazago egin ahal izatearren. Oinarrizko datu bat da sistema batean dagoen gutxieneko informazioa, hainbat oinarrizko datu antolatuta sortzen dira datu-egiturak.[1]

Hash-taula baten datu-egitura adibidea.

Deskribapena aldatu

Datu-egitura batek, alde batetik, barruan dituen datuen antolaketa eta haien arteko erlazioa definitzen ditu, eta beste aldetik, datu horiekin aplikatu ahal izango diren eragiketen multzoa ere.[2] Oinarrizko eragiketak hauek izaten dira:

  • Alta, gehitu balio berri bat egiturari.
  • Ezabaketa, ezabatu egiturako balio bat.
  • Bilaketa: balio jakin bat aurkitzea egituran, eragiketa bat egiteko balio horrekin, modu sekuentzialean edo bitarrean (betiere datuak ordenatuta badaude).

Ohiko beste eragiketa hauek ere egin daitezke:

  • Ordenatzea, egiturako elementuen antolaketa ordenazio-irizpide baten arabera.
  • Fusionatzea, bi egitura emanda, egitura ordenatu berri bat sortzea, hasierako egitura bien datu guztiak dituena.

Egitura bakoitzaren antolaketak abantailak eta desabantailak izango ditu eragiketa bakoitza programatzerakoan, sinpletasunari eta eraginkortasunari dagokienez. Hala, programatu behar den problema bakoitzerako datu-egitura egokia ondo hautatzea funtsezkoa izango da, zenbait faktore hartu beharko dira kontuan, hala nola eragiketa bakoitza datuen gainean zein maiztasunarekin aplikatu beharko den eta zein ordenatan.

Datu-egiturak aldatu

  •  
    Python hizkuntzaren datu-egitura estandarraren eskema.
    Bektoreak (matrizea edo array-a)
  • Erregistroa
  • Datu mota aljebraikoak
  • Lista estekatuak
    • Lista sinpleak
    • Esteka bikoitzeko listak
    • Lista zirkularrak
    • Jauzi bidezko Listak (Skip lists)
  • Pilak (stack)
  • Ilarak (queue)
  • Zuhaitzak
    • Zuhaitz bitarrak
      • Bileketarako zuhaitz bitarra
        • Bilaketa-zuhaitz bitar orekatua
          • Zuhaitz gorri-beltzak
          • AVL zuhaitzak
        • Alakatutako zuhaitzak (Splay zuhaitzak)
    • Bide anitzeko zuhaitzak (edo multibranka)
      • B zuhaitzak
      • B+ zuhaitzak
  • Tontorrak (edo heap-ak)
    • Tontor bitarra
    • Tontor binomiala
    • Fibonacci tontorra
    • Tontor leuna
    • 2-3 tontorra

Erreferentziak aldatu

  1. Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford. (2009). Introduction to Algorithms, Third Edition. (3rd. argitaraldia) The MIT Press ISBN 978-0-262-03384-8. (Noiz kontsultatua: 2021-07-17).
  2. Wegner, Peter; Reilly, Edwin D.. (2003-01-01). «Data structures» Encyclopedia of Computer Science (John Wiley and Sons Ltd.): 507–512.  doi:10.5555/1074100.1074312. ISBN 978-0-470-86412-8. (Noiz kontsultatua: 2022-11-28).

Kanpo estekak aldatu