A számítástechnikában a halmaz vagy halmaz olyan elvont típus , amely bizonyos értékeket tárolhat, nem külön sorrendben és ismétlés nélkül. A véges halmaz matematikai fogalmának számítógépes megvalósítása .
Egy halmaz értékeket tárol, nem meghatározott sorrendben, és nem tartalmaz ismétlődő adatokat (a már meglévő adatok beszúrásának megkísérlése nincs hatással). A legtöbb más típusú gyűjteménytől eltérően a halmazokat inkább arra használják, hogy teszteljék, hogy egy érték tartozik-e ehhez a halmazhoz, mintsem hogy adatokat nyerjenek ki belőle.
Egyes halmaz típusú adatstruktúrákat statikusnak (vagy „lefagyasztottnak”) terveztek: azok megtervezése után nem változtathatók meg. Ezek a statikus halmazok csak az elemeiken engedélyezik a lekérdezési műveleteket - például ellenőrzik, hogy egy adott érték szerepel-e a halmazban, vagy tetszőleges sorrendben számolják fel az értékeket. A kiszolgálókon általában vannak olyan operátorok , mint például az unió, metszéspont és különbség, amelyek gyors lekérdezési műveleteket tesznek lehetővé. Más variációk, az úgynevezett dinamikus vagy módosítható halmazok szintén lehetővé teszik az elemek beszúrását és eltávolítását a halmazból.
A adatstruktúra az elvont típusú gyűjteménye, vagy aggregátum, adatok. Az adatok lehetnek logikai operátorok , számok, karakterek vagy más adatstruktúrák. A csomagolási vagy indexelési jellemzőket figyelembe véve négy fő adatstruktúra létezik:
Ebben a strukturálásban a halmazok elemeket tartalmaznak , míg az objektumok gyűjteménye ezekből az elemekből áll .
Az ilyen típusú megvalósítás egyik valószínűségi adatstruktúrája a Bloom szűrő .