Crie um fluxograma para um algoritmo de busca binária
Sobre o framework
Este fluxograma com dez nós pesquisa um alvo em um array ordenado. Ele inicializa low com zero e high com n menos um, verifica se low é menor ou igual a high e calcula um ponto médio. Quando encontra um valor correspondente, retorna mid; caso contrário, uma segunda comparação determina qual limite deve ser alterado.
As duas etapas de atualização definem low como mid mais um ou high como mid menos um e, em seguida, retornam à verificação dos limites. Quando o intervalo se esgota, o fluxo retorna -1. O bloco do ponto médio escreve (low+high) / 2 sem especificar o arredondamento para inteiro, então esse detalhe precisa ser esclarecido em uma versão orientada a código.
Use o diagrama para fazer um rastreamento manual com um array ordenado pequeno. Registre low, high e mid após cada iteração e teste alvos presentes e ausentes. O exemplo retorna um índice correspondente, mas não tem um ramo específico para localizar a primeira ocorrência duplicada.
O que inclui
Fluxograma do Algoritmo de Busca Binária
✦ Free preview · Sign in to use
Perguntas frequentes
O exemplo pressupõe um array ordenado. As comparações reduzem o intervalo com base nessa ordem; a ordenação não é uma etapa do diagrama.
O bloco não especifica o arredondamento. Em uma versão baseada em índices, deixe explícito o arredondamento para inteiro, por exemplo, com low + floor((high-low)/2).
As atualizações dos limites se repetem até que low seja maior que high. O ramo Não de low <= high então retorna -1.
Grátis para começar. Cartão de crédito não obrigatório.