Olá, apresento a vocês um dos tipos de estruturas que podem ser realizadas na linguagem C. Esse tipo de estrutura é baseado no conceito de busca binária para encontra elementos, possui um lógica bem prática e intuitiva. O algoritmo possui subprogramas com chamadas recursivas, o que torna o código mais clean e compreensível.
As funções recursivas são aquelas que apresentam chamadas, diretas ou indiretas, a si mesmas. São exemplos comuns de funções recursivas aquelas aplicadas a calcular o fatorial de um número e o n-ésimo termo de sequência de Fibonacci.
Para exemplificar, devemos imaginar uma árvre comum, mas de cabeça para baixo, assim como na imagem abaixo:
Segunido essa idéia, apresento a vocês um exemplo de árvore na progrmação, como uma estrutura de dados, bem como a forma de organização dos dados nessa estrutura:
A busca binária é um eficiente algoritmo para encontrar um item em uma lista ordenada de itens. Ela funciona dividindo repetidamente pela metade a porção da lista que deve conter o item, até reduzir as localizações possíveis a apenas uma. Olhando a imagem acima, imagine que você deseje encontrar o número 10, ao iniciar a busca, o algoritmo vai eliminar toda a parte da direita da árvore, isso porque, todos os valores a direita dela são maiores que 10. Esse fator de busca faz com que a execução do programa seja mais rápida, uma vez que não serão realizadas buscas desnecessárias.
Tecnologias utilizadas:
- C
Observação: Como um defensor do clean code, todo o projeto está comentado e devidamente indentado, aqui é Cauã falando e até a próxima :)