Estruturas de dados e algoritmos (Capítulo 3): Conjuntos

Set é a estrutura básica da estrutura de dados, é completamente consistente com o conjunto em matemática, então vamos ver o que é conjunto em matemática?

1. O que é uma coleção

Uma coleção se refere a um coletivo de objetos concretos ou abstratos com uma certa natureza. Entre eles, esses objetos que constituem o conjunto são chamados de elementos do conjunto.

Para citar alguns exemplos, se os humanos são tomados como um conjunto, os chineses são um elemento do conjunto. Se o 0-100número da natureza como coleção 0for um elemento do conjunto, denotado 0∈100, 101não os elementos da coleção, ele é denotado por 0∉100. Para obter mais detalhes, abra o primeiro capítulo de Gaoshu (1) e dê uma olhada mais de perto.

Em segundo lugar, as características da coleção

A coleção tem as seguintes três características:

  • Certeza: Dado um conjunto, qualquer elemento é dado, o elemento pertence ou não pertence ao conjunto, os dois devem ser um dos dois e nenhuma ambigüidade é permitida.

  • Mutualidade: em um conjunto, quaisquer dois elementos são considerados diferentes, ou seja, cada elemento só pode aparecer uma vez. Às vezes é necessário caracterizar a situação em que o mesmo elemento aparece várias vezes, e vários conjuntos podem ser usados, nos quais os elementos podem aparecer várias vezes.

  • Desordem: em um conjunto, o status de cada elemento é o mesmo e os elementos estão desordenados. A relação de ordem pode ser definida no conjunto. Depois que a relação de ordem é definida, os elementos podem ser classificados de acordo com a relação de ordem. Mas, no que diz respeito às características do próprio conjunto, não há uma ordem inevitável entre os elementos.

Três, o tipo de coleção

1. conjunto vazio

Se um conjunto não contém nenhum elemento, é chamado de conjunto vazio e registrado como .

Insira a descrição da imagem aqui

O código pode ser representado como uma matriz vazia (para facilitar o entendimento, demonstre todos os Pythonexemplos a seguir para explicar).

In [1]: data = set()                                                                                               

In [2]: data                                                                                                       
Out[2]: set()

2. Subconjunto

Se o conjunto de Atodos os elementos pertencentes ao conjunto B, então o Aconjunto é um Bsubconjunto do conjunto.

Insira a descrição da imagem aqui

In [3]: data = set({1, 2, 3, 4, 5})                                                                                

In [4]: data                                                                                                       
Out[4]: {1, 2, 3, 4, 5}

In [5]: 1 in data                                                                                                  
Out[5]: True

In [6]: 0 in data                                                                                                  
Out[6]: False

3. Cruzamento

Todos pertencem ao conjunto Ae o conjunto pertence a Buma coleção de elementos denominada composição da interseção, denotada por A∩B.

Insira a descrição da imagem aqui

In [7]: data = set({1, 2, 3, 4, 5})                                                                                

In [8]: s = set({2, 4, 6})                                                                                         

In [9]: data & s                                                                                                   
Out[9]: {2, 4}

4. União

Pertencendo ao conjunto de todo Aou parte do Bconjunto de elementos consistindo em chamado e conjunto, denotado por A∪B.

Insira a descrição da imagem aqui

In [10]: data | s                                                                                                   
Out[10]: {1, 2, 3, 4, 5, 6}

5. Subtração

Todos pertencem ao conjunto Anão pertencente ao conjunto Bconjunto de elementos constituído por um conjunto de conhecidos Aem relação ao conjunto de conjuntos de Bdiferenças, denotados A-B.

Insira a descrição da imagem aqui

In [11]: data - s                                                                                                   
Out[11]: {1, 3, 5}

In [12]: s - data                                                                                                   
Out[12]: {6}

6. Complemento

Geralmente refere-se a complementar complemento absoluta, se Aé Bum subconjunto (subconjunto do conceito de olhar para cima ), Btudo não pertencem a Aelementos que consistem em uma coleção chamada Ao Bcomplemento de. Pode-se dizer que o conjunto do complemento é um caso especial do conjunto de diferenças.

Insira a descrição da imagem aqui

AÉ Bum subconjunto de Bum Asuperconjunto.

In [13]: s1 = set({2, 4})                                                                                           

In [14]: data - s1                                                                                                  
Out[14]: {1, 3, 5}

7. Diferença Simétrica

Conjunto de Aconjunto Bnão são todos os A∩Belementos da coleção é chamado de diferença simétrica, denotado A△B, a saber: A△B=(A∪B)-(A∩B).

Insira a descrição da imagem aqui

In [13]: data ^ s                                                                                                   
Out[13]: {1, 3, 5, 6}

Quarto, a implementação do algoritmo da coleção

O código acima é usado Pythonna coleta de dados foi alcançado uma boa estrutura, então você está familiarizado com a nossa linguagem este conjunto de estruturas de dados implementado algoritmo.

É muito simples, não vou escrever aqui (talvez o escreva quando não estiver ocupado no futuro). Há alguns pontos a serem observados. Use matrizes apenas como estrutura de dados básica. As características e os tipos da coleção devem ser todos satisfeitos. O desempenho e a eficiência não são considerados por enquanto. Depois de aprender o algoritmo de correspondência e classificação de strings algoritmo, etc., volte e otimize.

Acho que você gosta

Origin blog.csdn.net/yilovexing/article/details/107335751
Recomendado
Clasificación