Tömb (adatszerkezet)

Ez a szócikk az informatikai fogalomról szól. Hasonló címmel lásd még: Tömb (egyértelműsítő lap).
Tömb
TípusTömb

A számítástudományban a tömb (angolul array) olyan adatszerkezet, amelyet nevesített elemek csoportja alkot, melyekre sorszámukkal (indexükkel) lehet hivatkozni. Vektornak is nevezik, ha egydimenziós, mátrixnak esetenként, ha többdimenziós. A legtöbb programozási nyelvben minden egyes elemnek azonos adattípusa van és a tömb folytonosan helyezkedik el a számítógép memóriájában. A készítés módja alapján lehet:

  • statikus: a méret fix, deklarációban szabályozott, vagy
  • dinamikus tömb: a mérete változik, folyamatosan bővíthető.

Tömbrendszer kereszthivatkozási lista

Programozási nyelv Kezdőindex Korlátellenőrzés Dimenzió Dinamikus
Ada n ellenőrzött n init1
APL7 0 or 1 ellenőrzött n init1
Assembly 0 nem ellenőrzött 1 no
BASIC 1 nem ellenőrzött 1 init1
C 0 nem ellenőrzött n2 heap3,4
C++5 0 nem ellenőrzött n2 heap3
C# 0 ellenőrzött n2 heap3,9
Common Lisp 0 ellenőrzött n yes
D 0 változó11 n yes
FreeBasic n ellenőrzött n yes
Fortran n változó12 n heap3
IDL 0 ellenőrzött n yes
Java5 0 ellenőrzött 12 heap3
Lua 1 ellenőrzött 12 yes
MATLAB 1 ellenőrzött n8 yes
Oberon-1 0 ellenőrzött n no
Oberon-2 0 ellenőrzött n yes
Pascal n ellenőrzött n változó10
PERL n ellenőrzött 12 yes
PL/I n ellenőrzött
Python 0 ellenőrzött 12 yes
Ruby 0 ellenőrzött 12 yes
Scheme 0 ellenőrzött 12 no
Smalltalk5 1 ellenőrzött 12 yes6
Visual BASIC n ellenőrzött n yes
Windows PowerShell 0 ellenőrzött n2 heap
  1. A méret inicializálható, utána már nem változtatható
  2. Megengedi, hogy tömböket tömbökből hozzunk létre, ezáltal emulálhatóak a többdimenziós tömbök
  3. A méret csak akkor adható meg, ha a kupacnak (heap) már le van foglalva hely a memóriában
  4. C99 megengedi a változó méretű tömbök használatát, azonban jelenleg nincs még olyan fordító, ami támogatná ezt a funkciót
  5. Ez a lista szigorúan csak a nyelvek saját képességeit hasonlítja össze. Minden nyelvben (még assemblyben is) lehetséges bonyolultabb tömbkezelést megvalósítani kiegészítő könyvtárakkal.
  6. Az Array osztály ugyan fix méretű, de az OrderedCollection dinamikus
  7. Az index első eleme lehet 0 vagy 1, de a teljes munkatérre érvényesül majd ez a szabály
  8. Minimum kétdimenziós
  9. Megengedi, hogy fix méretű tömböt készítsünk "unsafe" kódban, ezáltal javítva az átjárhatóságot más nyelvekkel.
  10. Implementációkként változik. Újabbak (FreePascal és Delphi) már engedi a kupac-bázisú dinamikus tömbök használatát
  11. A viselkedés szabályozható a fordítóprogram kapcsolóival.
  12. Majdnem mindegyik Fortran implementáció engedi a határvizsgálatot a fordítóprogram kapcsolóival. Azonban hatékonysági szempontból alapértelmezettként ezt a képességet kikapcsolják.

További információk

  • NIST's Dictionary of Algorithms and Data Structures: Array
Sablon:Adatszerkezetek
  • m
  • v
  • sz
Adatszerkezetek
Típusok
Collection • Container
Absztrakt adattípusok
  • Asszociatív tömb (associative array, map)
  • Kétvégű sor (deque)
  • Fa (tree)
  • Gráf (graph)
  • Halmaz (set)
  • Hash (hash)
  • Prioritásos sor (priority queue)
  • Sor (queue)
  • Verem (stack)
Tömbök
  • Bittáblázat (bitboard)
  • Bittérkép (bitmap)
  • Dinamikus tömb (dynamic array)
  • Magassági mező (heightmap)
  • Mátrix (2 dimenziós tömb, matrix)
  • Párhuzamos tömb (parallel array)
  • Ritka tömb (sparse array)
  • Ritka mátrix (sparse matrix)
  • Tömb (array)
Láncolt adatszerkezetek
  • Láncolt lista (linked list)
  • Kétszeresen láncolt lista (doubly linked list)
  • Kifejtett láncolt lista (unrolled linked list)
  • Önrendező lista (self-organizing list)
  • Ugrásos lista (skip list)
  • VLista (VList)
  • XOR láncolt lista (xor linked list)
Fa adatszerkezetek
  • AA-fa
  • AVL-fa
  • Bináris fa (binary tree)
  • Bináris keresőfa (binary search tree)
  • Bűnbak fa (scapegoat tree)
  • Intervallum fa (interval tree)
  • Önkiegyensúlyozó bináris keresőfa (self-balancing binary search tree)
  • Piros-fekete fa (red-black tree)
  • Súlyozott fa (weight-balanced tree)
Kupacok
  • 2-3 kupac
  • Bináris kupac (binary heap)
  • Binomiális kupac (binomial heap)
  • D-kupac (D-ary heap)
  • Fibonacci kupac (Fibonacci heap)
  • Kupac (heap)
  • Párosító kupac (pairing heap)
  • Treap
Gráf adatszerkezetek
Hash
  • Bloom szűrő
  • Elosztott hash tábla
  • Hash fa
  • Hash lista
  • Hash-tábla
  • Hash trie
  • Prefix hash fa
Nemzetközi katalógusok
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap
Ez az informatikai tárgyú lap egyelőre csonk (erősen hiányos). Segíts te is, hogy igazi szócikk lehessen belőle!