Considere o seguinte pseudocodigo, retirado de um livro:
Linear(A, n, x)
i = 1;
enquanto i <= n e x <> A[i] faça
i = i +1;
se i <= n
entao escreva(“encontrado”)
senao escreva(“nao encontrado”)
Com base nele, fiz o codigo java abaixo, que consiste em pesquisar se um número consta no vetor, retornando “encontrado” ou “não encontrado”, conforme o caso: Porem, so retorna a mensagem “encontrado!”, mesmo se o número a pesquisar não esteja no array. O q pode estar errado?
public class VerificaElemento {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] A = { 100, 3, 0, 40 };
int i = 1;
int x = 1000;
while (i <= A.length & x != A[i]) {
i += 1;
if (i <= A.length) {
System.out.println("Encontrato!");
} else {
System.out.println("Não encontrado");
}
}
}
}
Aproveito pra dizer q estou estudando complexidade de algoritmos, e gostaria de saber se alguem conhece algum plugin pra eclipse q ja me de a complexidade.
Grato.
). Analisando rapidamente seu código diria que sob uma análise assintótica esse algoritmo é da ordem de O(n). Não conheço uma ferramente que faça isso no eclipse.