10 de fevereiro de 2010

Vetores

Um vetor (ou array) é uma estrutura de dados que é capaz de armazenar objetos do mesmo tipo em uma sequência, ocupando posições consecutivas na memória.
Falarei hoje sobre a busca em vetores.

Um vetor v de tamanho n posições é dado pela notação v[n] .

Esse vetor possui objetos armazenados em suas posições v[0 ... n-1] , ou seja, se o vetor v possui 5 posições, o último objeto estará armazenado em v[4] .

A declaração de um vetor de inteiros possuindo 5 posições é dada por: int v[5];

A busca

Vamos pensar que nos foi dado um vetor v de números inteiros ( int ) de tamanho n, e nos pedem para encontrar certo número x.

Então, temos o vetor representado da seguinte maneira:

indices 0 n-1
valores 14 26 12 18 12

Então, temos que encontrar um índice k tal que v[k] == x .

Você deve estar pensando: "E se x não estiver no vetor? Ou quem sabe n = 0? O que fazer?".
Calma, pequeno padawan. Se isso ocorrer, podemos simplesmente devolver -1 para quem estiver perguntando. =)

Pensando assim, temos que conseguir uma forma de entrar nesse vetor e achar o que estão nos pedindo. Como fazer?
É isso ai! Esse algoritmo efetua a busca, e retorna o índice que representa a posição do valor pedido no vetor dado. =)

Um comentário: