Pesquisa Ternária em um vetor ordenado
Publicado por Giovanni Cândido da Silva 24/06/2009
[ Hits: 10.859 ]
Homepage: http://giovannicandido.wordpress.com
O algoritimo de pesquisa binária divide o vetor sucessivamente em duas partes, e utiliza a mesma
lógica porém dividindo o vetor em 3 partes.
/** * Divide um vetor em 3 partes sucessivamente em busca de um elemento * Retorna -1 caso o elemento não exista no vetor, ou o indice do elemento * @param x * @return */ public int pesquisaTer(int x){ int meio1, meio2; int esq = 0; int dir = arranjo.length-1; do{ //Calcula a primeira parte do vetor evitando estrapolação meio1=(dir - esq)/3 + esq; //Calcula a segunda parte do vetor evitando que meio2=((dir-esq)/3)*2 + esq; //Caso o arranjo esteja em um dos meios encerra o metodo e retorna a posição if(x==arranjo[meio1]) return meio1; if(x==arranjo[meio2]) return meio2; //Atualiza os indices esq e dir caso nao seja encontrado o elemento if(x<arranjo[meio1]){ dir=meio1-1; } if (x>arranjo[meio1] && x< arranjo[meio2]){ esq=meio1+1; dir=meio2 -1; } else if(x>arranjo[meio2]){ esq=meio2+1; } }while(esq<=dir); return -1; }
Cadastramento de Produtos com .JOptionPane
Avaliação de expressões matemáticas
Crivo de Eratóstenes Simples em Java
Contador de caracteres, palavras e linhas de um arquivo
Nenhum comentário foi encontrado.
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (8)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)