Considepe o seguinte algoritmo de busca, escrito em pseudoc...
Considepe o seguinte algoritmo de busca, escrito em pseudocódigo:
i := 0;
WHILE (i < N) & (a [i] <> X) DO i := i + 1 END
onde o elemento a ser encontrado é x, e N é uma constante,
pode-se afirmar que este algoritmo representa uma busca
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: E - Linear
Vamos entender o conceito por trás do algoritmo apresentado na questão. O algoritmo descrito é uma forma de busca linear, também conhecida como busca sequencial. Este tipo de busca é caracterizado por verificar cada elemento de uma lista ou array, um por um, até encontrar o item desejado ou até chegar ao fim da lista.
O pseudocódigo apresentado utiliza a seguinte lógica: inicializa a variável i em zero e realiza um laço WHILE que continua enquanto i for menor que N e o elemento atual a[i] for diferente de X. A cada iteração, i é incrementado em 1. Essa é a essência de uma busca linear.
Agora vamos analisar as alternativas incorretas e entender por que elas não se aplicam:
A - Em uma árvore binária de busca: Este tipo de busca é estruturado em uma árvore binária, onde cada nó tem no máximo dois filhos, e a busca é feita de forma ordenada. O algoritmo proposto não utiliza tal estrutura nem segue a lógica de uma busca ordenada em árvore.
B - Binária: A busca binária requer que a coleção de dados esteja previamente ordenada e funciona dividindo a lista ao meio repetidamente. O algoritmo na questão não realiza divisões; em vez disso, percorre cada elemento consecutivamente, o que caracteriza uma busca linear.
C - Direta em cadeias: Este termo não é comumente utilizado em algoritmos de busca, e seu significado pode ser interpretado de várias formas. Contudo, o que é importante aqui é que o algoritmo dado representa claramente uma busca linear.
D - Em uma árvore B: Árvores B são uma estrutura de dados mais complexa usada para armazenamento e recuperação de dados em sistemas de banco de dados e sistemas de arquivos. O algoritmo discutido não utiliza essa estrutura ou lógica.
Concluindo, o algoritmo analisado é um exemplo clássico de busca linear, pois percorre sequencialmente cada elemento da lista até encontrar o elemento desejado ou esgotar a lista.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Na área de informática, ou Ciência da Computação, costuma-se usar o termo busca linear (ou busca sequencial) para expressar um tipo de pesquisa em vetores ou listas de modo sequencial, i. e., elemento por elemento, de modo que a função do tempo em relação ao número de elementos é linear, ou seja, cresce proporcionalmente. Num vetor ordenado, essa não é a pesquisa mais eficiente, a pesquisa (ou busca) binária, por exemplo, é um tipo de pesquisa com o gráfico de tempo logarítmo.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo