Loading AI tools
Da Wikipédia, a enciclopédia livre
Um vetor associativo é uma estrutura de dados composta de um conjunto não-ordenado de itens formados por um par chave e valor, no qual cada chave possui um valor associado. Essas chaves são definidas pelo usuário e devem ser armazenadas na estrutura. O relacionamento existente entre as chaves e seus respectivos valores é chamado de mapeamento, pois para buscar um valor utiliza-se a chave como índice de busca. Na implementação de um vetor associativo, os elementos são armazenados e recuperados com funções de dispersão. Pode-se buscar o valor de um elemento pela chave e também verificar se existe algum elemento relacionado àquela chave.
Este artigo ou secção contém uma lista de referências no fim do texto, mas as suas fontes não são claras porque não são citadas no corpo do artigo, o que compromete a confiabilidade das informações. (Novembro de 2015) |
A principal vantagem existente na utilização de vetores associativos está na facilidade de realização de buscas por valores. Porém, não é tão eficiente quanto um vetor comum quando todos os elementos do vetor devem ser processados.
A relação entre uma chave e seu valor as vezes é chamada de mapeamento ou ligação. Por exemplo, se o valor associado à chave "bob" é 7, dizemos que nosso vetor mapeia "bob" para 7. Vetores associativos estão intimamente relacionados ao conceito matemático de função bijetora com um domínio finito. Como consequência, um uso comum e importante de vetores associativos é em memorização.
As operações normalmente disponíveis em vetores associativos são:
Um exemplo bastante comum para a utilização de vetores associativos é uma lista telefônica, na qual o nome da pessoa é utilizado como chave e o telefone da pessoa é o valor:
telefones['bob']='55555555'
Em Python, os vetores associativos são representados por estruturas chamadas de dicionários. Ao definir um dicionário com os seguintes elementos:
dict = {"SO":"Linux", "Nucleo":"2.6"}
"SO" e "Nucleo" passarão a ser usados como chave, para obtenção dos valores. Um exemplo de utilização é:
print dict["SO"]
Esse código irá mostrar na saída do programa o valor armazenado para a chave "SO":
Linux
Vetores associativos são geralmente usados quando a busca é a operação mais frequente. Por essa razão, implementações são geralmente planejadas para permitir rapidez na busca, ao custo de lentas inserções e uma grande área de cobertura para armazenamento se comparado a outras estruturas de dados (como listas associadas).
Existem duas estruturas de dados principais usadas para representar vetores associativos: a tabela de dispersão e a árvore binária de busca auto-balanceada (como a árvore rubro-negra ou a árvore AVL). Árvore B (e variantes) também podem ser usadas, e são comumente usadas quando o vetor associativo é muito grande para ser armazenado completamente em memória, por exemplo, em um banco de dados simples.
Uma simples, mas geralmente ineficiente, representação de vetores associativos é através de lista associada, que simplesmente armazena uma lista encadeada de pares chave-valor. Cada busca realiza uma procura linear através da lista procurando por uma chave.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.