Você está na página 1de 2

Curso: Bacharelado em Computação

Disciplina: Estrutura de Dados

Professora: Janderson Jason Barbosa Aguiar

Equipe: Andrey Dantas,

Algoritmos de Busca

O que foi feito:


Seguindo as diretrizes passadas na aula e a interface do trabalho,
expandimos a classe BrincandoComBusca (main) e a classe Busca. O arquivo
Busca.java foi implementado seguindo a interface Busca_IF, que definiu os métodos
necessários para as buscas.

Algoritmos de busca:

● Busca Linear Iterativa


● Busca Linear Recursiva
● Busca Linear Iterativa Duas Pontas
● Busca Binária Iterativa
● Busca Binária Recursiva

Para analisar o desempenho dos algoritmos de busca, foram considerados os


seguintes pontos:

● Tamanhos do Vetor: 1000 / 10000 / 100000


● Execuções: 50 execuções para cada tamanho de vetor
● Tempo: em nanosegundos
● Casos de busca: elemento que existe/não existe no vetor

Notações Assintóticas:

A análise de complexidade assintótica é importante para avaliar o


desempenho dos algoritmos em relação ao tamanho dos dados. Os algoritmos
implementados têm as seguintes notações assintóticas:

● Busca Linear: O (n) - Complexidade linear.


● Busca Binária: O (log n) - Complexidade logarítmica.
● Busca Linear de Duas Pontas: O(n) - Complexidade linear.

Resultados obtidos:
A seguir, apresentamos uma tabela resumindo os resultados médios obtidos para
cada algoritmo de busca.

Tamanho Busca Busca Busca Busca Busca


do Vetor Linear Linear Linear Binária Binária
Iterativa Recursiva Iterativa Iterativa Recursiva
Duas
Pontas

1000 29249 ns 369535 ns 24505 ns 16521 ns 28494 ns

10000 189565 ns 1062537 ns 231268 ns 16259 ns 19638 ns

100000 1928622 ns Error 1925351 ns 14626 ns 33908 ns

Você também pode gostar