1 votos

Lucha por seguir cómo convertir la expresión en forma logarítmica | Problema de búsqueda binaria

Estoy leyendo "Problem Solving with Algorithms and Data Structures using Python" y el autor está explicando la relación entre las comparaciones y el Número aproximado de elementos que quedan en una lista ordenada.

Estoy luchando para realizar la conversión de: $ \left(\frac{n}{2^i}\right) = 1 $ a $ i = \log n $

Puse esta expresión en MathWay y obtuve $ i = log_2(1) $ y estoy un poco confundido sobre cómo estos resultados son equivalentes. Estoy bastante oxidado con los logaritmos, así que si pudiera ayudarme a explicar esta conversión se lo agradecería mucho.

Vea esta imagen del libro con una explicación completa del problema al que se refiere. Imagen del libro

1voto

Riemann'sPointyNose Puntos 158

Así que tienes

$${\frac{n}{2^i}=1}$$

Multiplicando ambos lados por ${2^i}$ se obtiene

$${\Rightarrow \frac{n}{2^i}\times 2^i = 1\times 2^i}$$

Puede cancelar el ${2^i}$ en el lado izquierdo, lo que nos da

$${n=2^i}$$

Ahora - queremos alguna manera de convertir ${2^i}$ en sólo ${i}$ . ¿Cómo lo hacemos? Bien, aplicando ${\log}$ base ${2}$ a ambos lados nos da

$${\Rightarrow \log_2(n) = \log_2(2^{i})}$$

El lado derecho, por la definición del Logaritmo está diciendo "qué número subo ${2}$ para conseguir ${2^i}$ ?" Claramente, la respuesta es $i$ . Y así

$${\Rightarrow i=\log_2(n)}$$

Editar : Así que técnicamente, el Logaritmo en el libro también debería ser de base ${2}$ Sin embargo, creo que puede haberlo dejado fuera para ${2}$ posibles razones:

(1) Como usted dice, en muchos lugares ${\log}$ sin una base especificada suele referirse a la base ${10}$ Sin embargo, los matemáticos también utilizan ${\log}$ sin una base especificada para significar la base ${e}$ (donde $e$ es el número de Euler - no se preocupe si no sabe lo que es) - podría ser que el autor sólo esté usando ${\log}$ sin base para significar base $2$ (poco probable, creo, pero posible).

(2) Me di cuenta de que hablaba de grandes $O$ notación. En los grandes $O$ notación, realmente no importa si es ${O(\log_2(n))}$ , ${O(\log_{10}(n))}$ etc. Una propiedad del Logaritmo es que

$${\log_{a}(n) = k\times \log_{b}(n)}$$

Es decir, la función logarítmica en una base puede escribirse como un múltiplo escalar (un número cualquiera) multiplicado por el logaritmo de otra base. Y en grandes $O$ notación

$${k\times O(f(n)) = O(f(n))}$$

Así que realmente no importa la base que pongas (siempre que la base sea, por supuesto, positiva). En última instancia, la elección es arbitraria en grandes $O$ notación, y muchas veces la gente simplemente escribe ${\log}$ con la base omitida. Supongo que en cierto sentido, se podría decir que sólo hay realmente una función logarítmica, y la base sólo afecta realmente a qué múltiplo de ella se toma.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X