Um dos tipos de estruturas de dados que são a personificação direta de entidades matemáticas na ciência da computação são os conjuntos. As operações com eles freqüentemente são a base de vários algoritmos. Diferentes linguagens de programação têm seus próprios meios para descrever conjuntos.
Necessário
- - ambiente de desenvolvimento;
- - tradutor da linguagem de programação selecionada.
Instruções
Passo 1
Descreva o conjunto usando a linguagem de programação, se disponível. Por exemplo, na linguagem Pascal existe uma construção de conjunto que permite declarar os tipos correspondentes. É verdade que o volume de tais conjuntos não deve exceder 256 elementos. Um exemplo de declarações de tipo de conjunto pode ter a seguinte aparência:
modelo
AZLetters = conjunto de 'A'.. 'Z';
AllLetters = conjunto de char;
Variáveis e constantes de tipos que são conjuntos são declaradas da maneira usual. Nesse caso, os literais definidos podem ser usados para inicialização. Por exemplo:
const
LettersSet1: AZLetters = ['A', 'B', 'C'];
Passo 2
Use os recursos de bibliotecas ou módulos padrão para descrever conjuntos. Portanto, a biblioteca de modelos C ++, que deve ser fornecida com o compilador, inclui um modelo para a classe de contêiner de conjunto que implementa a funcionalidade de conjuntos:
template <
class Key, classe Traits = menos, classe Allocator = alocador
conjunto de classes
Como você pode ver na lista, os argumentos do modelo de conjunto são: o tipo de dados dos elementos do conjunto, o tipo do objeto funcional para determinar a ordem dos elementos no conjunto e o tipo de alocador de memória. Nesse caso, apenas o primeiro argumento é necessário (como os outros dois, o predicado binário padrão less e o alocador padrão são usados por padrão).
etapa 3
Aplicar classes ou modelos de classe usados no desenvolvimento de estruturas que implementam a funcionalidade de trabalhar com conjuntos, se houver. Um exemplo de tal ferramenta é a classe de modelo QSet do módulo QtCore da biblioteca Qt. Seus recursos são semelhantes aos do contêiner de conjunto STL descrito na etapa anterior.
Passo 4
Descreva o conjunto usando seus próprios meios de implementação. Use sinalizadores de bits, armazenados em matrizes de comprimento fixo, para conjuntos de elementos de tipos simples e tamanhos pequenos. Implemente uma classe de contêiner definida para tipos de dados complexos. Como base, você pode usar a funcionalidade de matrizes associativas ou de hash associativas. Ele, por sua vez, pode ser construído com base em árvores binárias de busca com equilíbrio automático (por exemplo, árvores vermelhas e pretas).