Está en la página 1de 3

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMÉRICA)


FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
“Año del Bicentenario del Perú: 200 años de Independencia”

Análisis del algoritmo de Búsqueda

Curso:
Análisis y Diseño de algoritmos
Estudiante:
Chávez Casique, Rodrigo – 19200007
Docente:
Chávez Soto, Jorge Luis

Lima, Perú
2021
Planteamiento del problema:

La implementación fue realiza en el IDE Codeblocks 20.03.

El tiempo tomado por el algoritmo de búsqueda fue de 0.003 segundos.


La operación principal para medir la eficiencia es la comparación. Para ello se realiza el caso mejor,
el caso medio y el caso peor.

• Caso mejor: Se da el caso mejor cuando el elemento buscado se encuentra en la posición


de la raíz del árbol.

Caso mejor = 1

• Caso medio: Sea 𝑑 el número de nodos en el árbol e 𝑖 la profundidad. Ya que cada nodo
tiene 2 o más nodos internos, entonces en cada profundidad 𝑖 existen 2𝑖 nodos. Por lo que
el número total de nodos está dado por:

𝑛 ≤ 20 + 21 + 22 + 23 + ⋯ + 2𝑖
𝑑
2𝑑+1 − 1
∑ 2𝑖 = = 2𝑑+1 − 1
2−1
𝑖=0

Entonces:

𝑛 ≤ 2𝑑+1 − 1

𝑙𝑜𝑔2 𝑛 ≤ 𝑑 + 1

𝑙𝑜𝑔2 𝑛 ≤ 𝑑
Por lo tanto, requerirá de un tiempo 𝑂(𝑙𝑜𝑔2 𝑛)

• Caso peor: El elemento buscado no se encuentra en el árbol. Entonces el árbol está


desequilibrado hacia uno de los subárboles.

Caso mejor = n

Muchos nodos pueden tener un solo hijo y así sus ramas se vuelven largas y delgadas, con
esto se vuelve ineficiente. El peor caso todos los nodos pueden tener un solo hijo.

También podría gustarte