Na ciência da computação, um conjunto ou conjunto é um tipo abstrato que pode armazenar certos valores, sem ordem específica e sem repetição. É uma implementação computacional da noção matemática de conjunto finito .
Um conjunto armazena valores, sem ordem definida e não contém dados duplicados (tentar inserir dados já presentes não tem efeito). Ao contrário da maioria dos outros tipos de coleções, os conjuntos são usados mais para testar se um valor pertence a esse conjunto do que para extrair dados dele.
Algumas estruturas de dados do tipo conjunto são projetadas para serem estáticas (ou “congeladas”): elas não podem ser alteradas após serem projetadas. Esses conjuntos estáticos permitem apenas operações de consulta em seus elementos - como verificar se um determinado valor está presente no conjunto ou enumerar os valores em uma ordem arbitrária. Normalmente existem nos servidores que os suportam operadores como união, interseção e diferença permitindo operações de consulta rápida. Outras variações, chamadas conjuntos dinâmicos ou modificáveis, também permitem inserir e remover elementos do conjunto.
Uma estrutura de dados de tipo abstrato é uma coleção ou agregação de dados. Os dados podem ser operadores booleanos , números, caracteres ou outras estruturas de dados. Levando em consideração os recursos de empacotamento ou indexação, existem quatro estruturas de dados principais:
Nessa estruturação, os conjuntos contêm elementos, enquanto a coleção de objetos consiste nesses elementos.
Uma estrutura de dados probabilística que implementa esse tipo é o filtro Bloom .