| Ez a szócikk az informatikai fogalomról szól. Hasonló címmel lásd még: Tömb (egyértelműsítő lap). |
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 |
- A méret inicializálható, utána már nem változtatható
- Megengedi, hogy tömböket tömbökből hozzunk létre, ezáltal emulálhatóak a többdimenziós tömbök
- A méret csak akkor adható meg, ha a kupacnak (heap) már le van foglalva hely a memóriában
- 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
- 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.
- Az Array osztály ugyan fix méretű, de az OrderedCollection dinamikus
- Az index első eleme lehet 0 vagy 1, de a teljes munkatérre érvényesül majd ez a szabály
- Minimum kétdimenziós
- 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.
- Implementációkként változik. Újabbak (FreePascal és Delphi) már engedi a kupac-bázisú dinamikus tömbök használatát
- A viselkedés szabályozható a fordítóprogram kapcsolóival.
- 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.
- NIST's Dictionary of Algorithms and Data Structures: Array
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
|
---|
|
- 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! |