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-100
número da natureza como coleção 0
for um elemento do conjunto, denotado 0∈100
, 101
nã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 ∅
.
O código pode ser representado como uma matriz vazia (para facilitar o entendimento, demonstre todos os Python
exemplos a seguir para explicar).
In [1]: data = set()
In [2]: data
Out[2]: set()
2. Subconjunto
Se o conjunto de A
todos os elementos pertencentes ao conjunto B
, então o A
conjunto é um B
subconjunto do conjunto.
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 A
e o conjunto pertence a B
uma coleção de elementos denominada composição da interseção, denotada por A∩B
.
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 A
ou parte do B
conjunto de elementos consistindo em chamado e conjunto, denotado por A∪B
.
In [10]: data | s
Out[10]: {1, 2, 3, 4, 5, 6}
5. Subtração
Todos pertencem ao conjunto A
não pertencente ao conjunto B
conjunto de elementos constituído por um conjunto de conhecidos A
em relação ao conjunto de conjuntos de B
diferenças, denotados A-B
.
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
é B
um subconjunto (subconjunto do conceito de olhar para cima ↑
), B
tudo não pertencem a A
elementos que consistem em uma coleção chamada A
o B
complemento de. Pode-se dizer que o conjunto do complemento é um caso especial do conjunto de diferenças.
A
É B
um subconjunto de B
um A
superconjunto.
In [13]: s1 = set({2, 4})
In [14]: data - s1
Out[14]: {1, 3, 5}
7. Diferença Simétrica
Conjunto de A
conjunto B
não são todos os A∩B
elementos da coleção é chamado de diferença simétrica, denotado A△B
, a saber: A△B=(A∪B)-(A∩B)
.
In [13]: data ^ s
Out[13]: {1, 3, 5, 6}
Quarto, a implementação do algoritmo da coleção
O código acima é usado Python
na 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.