O principal java estruturas de dados

A. matriz

O mesmo conjunto de tipos de elementos; dá um espaço contínuo na memória.

Em comparação com a lista em termos de vantagens e desvantagens:

vantagens:

1) consulta mais rápida, porque o tamanho da matriz é fixa e é um espaço de memória contínuo, os elementos precisam apenas localizar uma consulta sobre um pedaço específico de memória, e a lista de espaço de memória não-contínuo, pela frente e ponteiros traseiros ordem associada, a lista de elementos de consulta mais devagar

 

desvantagens:

1) um tamanho fixo, conveniente para adicionar dados dinâmica (adicionar dinamicamente ou dados de exclusão irá afectar a maioria dos elementos da matriz, mais baixa do que a eficiência de uma lista ligada); (a lista pode ser adicionar dinamicamente, os dados de exclusão de alta eficiência, porque os dados antes e após a lista está associada com um ponteiro , adicionar ou excluir um elemento afeta apenas cerca de dois elementos associados)

java na matriz é de um comprimento fixo, o comprimento não pode ser aumentada de forma dinâmica. Se você quer expandir a matriz, apenas redefinindo a matriz, copie o conteúdo da matriz antiga para a nova matriz.

 

II. Stack

Também conhecida como a pilha, o que é uma tabela linear operação é limitada; apenas as inserções e deleções na secção de mesa, a extremidade da pilha é chamado;

O último é avançado para fora da estrutura de dados pilha.

 

III. Fila

Fila pilha e similares é uma tabela linear, excepto que permite a inserção da extremidade dianteira da mesa, ser eliminado no fim da mesa, o último é avançado para fora da mesa linear.

 

IV. Lista

unidade de armazenamento lista é uma sequência fisicamente não sequencial, não contínua de estrutura lógica de armazenamento, os elementos de dados estão ligadas por uma implementação lista de ordem ponteiro ligado.

Lista consiste de uma série de nós, cada elemento da lista é chamado um nó, um nó pode gerado dinamicamente em tempo de execução, cada nó que compreende duas partes: um campo de dados que armazena os elementos de dados, e o outro é um endereço de armazenamento próximo nó o campo apontador; comparao com a tabela operação linear, mais complicado.

Vantagens e desvantagens:

vantagens:

Foi adicionado à lista de elementos ou de exclusão velocidade é relativamente rápido, porque a operação de lista de ponteiro é realizada através da adição ou remoção de elementos e afectam apenas uma parte dianteira ou um elemento relacionado, sem afectar outros elementos, e se a matriz adicionar ou elementos de exclusão, a maioria dos elementos irá afectar toda a matriz, por exemplo, para excluir uma matriz com 10 elementos no terceiro elemento, em seguida, é imperativo matriz 4 através de elementos 10 são deixados a.

 

desvantagens:

Descubra mais lentamente, uma vez que a lista é ligada através de ponteiros antes e depois dos elementos de dados, uma consulta a partir dos elementos da matriz não é como uma consulta contínua mais rápida memória.

 

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------

ArrayList 和 LinkedList

estrutura de dados 1.ArrayList é implementado com base na matriz dinâmica, LinkedList baseada lista ligada estrutura de dados. 
2. Para acesso aleatório get e set, ArrayList LinkedList superior, porque LinkedList para mover o ponteiro. 
3. Para as operações novas e excluir adicionar e remover, LinedList vantagem comparativa, pois ArrayList para mover dados.

Resumo: ArrayList interno é a utilização de matrizes zo de comprimento para alcançar, é um get e métodos set são passar um tempo fixo, mas se os elementos de inserção e elementos de remover, a não ser que a posição de inserção e deleção no quadro apresentado no final, caso contrário, a sobrecarga de código vai ser muito grande, porque a necessidade de se mover no interior da matriz.
LinkedList é implementada usando uma lista duplamente vinculada, assim que começar será muito consumindo recursos, a menos que a posição da cabeça de perto. No entanto, de inserção e elementos de exclusão leva tempo constante.

 

 

V. árvore

aplicação prática menos exposição, o conceito de:

E só um específico chamado de raiz nó (Root), quando n> 1, os nós restantes podem ser divididos em m (m> 0) disjuntos finito define T1, T2, ..., Tm, cada conjunto Ti (1≤i≤m) são árvore, e T é chamado de sub-árvore (sub-árvore).
  

 

VI. Mesa Hash

O HashTable (tabela hash) é uma implementação da interface Mapa, uma mesa linear é uma estrutura de armazenamento especial; pares de valores chave de um modo de armazenamento de dados, em que a chave não podem ser utilizadas, o valor pode ser repetido.

A principal diferença é que HashMap e HashTable 

1) HashTable são thread-safe, enquanto HashMap não é thread-safe

2) permite que as chaves HashMap nulos, HashTable permitido


 

montão sete:

java pilha está disponível para obter nova parte de programadores de memória do computador. A estrutura de dados de árvore binária montão é um especial (montão é uma árvore, quando comparado com a matriz, os reactores rápidos velocidade de inserção, mas lento excluído).

estrutura de dados heap é uma árvore binária com as seguintes características:

1. É uma árvore binária completa, isto é, exceto o último nó um da árvore não precisa ser completo, o outro da esquerda para a direita de cada camada deve estar cheio.

2. Muitas vezes, é implementado usando matrizes.

3. Cada pilha pilha nó satisfazer a condição, ou seja, para cada valor maior palavra-chave ou igual principais nós de valores filho deste nó.

 

 

Oito matriz, lista, conjunto de intercambiáveis:

1. Converte uma lista de matriz

matriz de cadeia = { "aaa", "aaa", "bbb"};

lista list = Arrays.asList (array)

Após a conversão lista contém três elementos

 

2. lista de curvas set

exemplos Connect:

HashSet hashset = new HashSet (lista);

Após a conversão, a lista original dos elementos repetidos serão removidos, HashSet contém apenas dois elementos

 

Se você precisa re-array, convertendo a matriz em uma maneira set

Publicado 11 artigos originais · ganhou elogios 2 · vê 10000 +

Acho que você gosta

Origin blog.csdn.net/zhengyin_tmac/article/details/87205922
Recomendado
Clasificación