Conjunto é uma estrutura de dados comumente usada na programação de computadores. É uma coleção de dados não ordenada, o que significa que não é armazenada em uma ordem específica. É diferente das listas, que são coleções ordenadas de dados, e dos mapas, que são coleções de dados que consistem em pares de valores-chave.
Os conjuntos são mais comumente usados na programação funcional, onde podem ser usados para representar conjuntos de valores finitos ou potencialmente infinitos. Eles também podem ser usados na programação imperativa e na programação orientada a objetos.
Dependendo da linguagem em que são implementados, os conjuntos podem oferecer diferentes métodos de modificação, como a adição de novos elementos e a remoção de elementos existentes. Em algumas linguagens, pode ser possível construir conjuntos a partir de listas e vice-versa.
Os conjuntos são amplamente usados para tarefas como representar conjuntos de chaves (por exemplo, para uma tabela de hash ou um conjunto de sinalizadores), encontrar a diferença ou a interseção de conjuntos e verificar se um valor está em um conjunto.
As estruturas de dados de conjuntos também podem ser usadas para fornecer otimizações ao computar determinadas funções matemáticas, como a união, a interseção e a diferença de dois conjuntos.
Os conjuntos também podem ser implementados como estruturas de dados especializadas, como uma árvore vermelho-preto ou uma árvore balanceada, a fim de proporcionar um tempo de execução mais rápido para operações como teste ou inserção de membros.