Junior — Middle
Poderia dar um exemplo de método para procurar um elemento específico numa matriz de dados ordenada?
sobes.tech IA
Resposta da IA
Para procurar um elemento num array ordenado, muitas vezes é utilizado o algoritmo de busca binária, que funciona em tempo logarítmico O(log n).
Exemplo de implementação de busca binária em C#:
int BinarySearch(int[] sortedArray, int target) {
int left = 0;
int right = sortedArray.Length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (sortedArray[mid] == target) {
return mid; // elemento encontrado
} else if (sortedArray[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // elemento não encontrado
}