Verificamos de forma cada noticia de nuestra página web con la meta de enseñarte siempre información más veraz y certera.
Solución:
La búsqueda binaria es para listas “ordenadas”. La complejidad es O(logn).
La búsqueda binaria no funciona para listas “sin clasificar”. Para estas listas simplemente haga una búsqueda directa comenzando desde el primer elemento; esto da una complejidad de O(n). Si tuviera que ordenar el array con MergeSort o cualquier otro algoritmo O(nlogn), entonces la complejidad sería O(nlogn).
O(registro) < O(n) < O(registro)
La respuesta a su pregunta está en su propia pregunta.
Primero está ordenando la lista. Si ordena su lista utilizando la ordenación rápida o por combinación, la complejidad se vuelve o(n*log n)
. Parte – 1 se supera.
La segunda parte de realizar una búsqueda binaria se realiza en la ‘Lista ordenada’. La complejidad de la búsqueda binaria es o(log n)
. Por lo tanto, en última instancia, la complejidad del programa sigue siendo o(n*log n)
.
Sin embargo, si desea calcular la mediana de la array, no es necesario ordenar la lista. Una simple aplicación de una búsqueda lineal o secuencial puede ayudarlo con eso.
Recuerda comunicar este tutorial si te fue de ayuda.