Cómo encontrar el elemento mínimo en un subárbol de un montón máximo

el elemento mínimo en un subárbol será siempre su hoja para un montón máximo … desde allí, primero intente ubicar el nodo que servirá como la nueva raíz del subárbol … … la técnica de búsqueda básica se puede utilizar para encontrar este nodo …

al encontrar el nodo, aplique el algoritmo para encontrar el elemento mínimo, es decir

FindMinInMaxHeap (montón de montón)

startIndex = heap-> Array [heap-> lastIndex / 2]

si startIndex == 0

return heap-> Array [startIndex]

Mínimo = montón-> Matriz [startIndex + 1]

para contar desde startIndex + 2 a heap-> lastIndex

if (montón-> Array [cuenta] <Mínimo)

Mínimo: = montón-> Matriz [recuento]

imprimir mínimo

aquí comienza la búsqueda desde el índice índice del nodo primario + 1 hasta el último índice del nodo hoja para obtener el valor mínimo en ese rango … es decir, startIndex es el índice del nodo primario + 1

e índice de nodo primario = (índice de nodo de hoja) / 2 … el último nodo de la matriz siempre es el nodo de hoja, así que calcule en consecuencia …

More Interesting

¿Los ingenieros de software de Google, Amazon, etc. utilizan estructuras de datos y algoritmos en el desarrollo de aplicaciones en tiempo real?

¿Cuál es la diferencia entre binario, algoritmo y lenguaje de programación?

¿Qué hay de malo en mi implementación de tipo de fusión?

¿Cuál es la mejor estructura y algoritmo de datos para encontrar un valor máximo dentro de un subconjunto de una población de datos que satisfaga alguna condición de rango?

¿Cuál es la implementación más rápida del árbol de búsqueda binario? (auto-equilibrio)

¿Necesito conocer algoritmos de aprendizaje automático para asegurar un trabajo como analista de datos?

¿Cuál es un ejemplo interesante del patrón de red del mundo pequeño?

Algoritmos: ¿Cómo reduzco la latencia en HFT?

Cómo calcular la velocidad de un algoritmo

¿Cuál es tu algoritmo favorito y dónde lo has usado prácticamente en la vida real?

¿Qué temas básicos hay que saber en C ++ antes de aprender estructuras de datos y algoritmos?

¿Mattermark está utilizando datos para entrenar algoritmos de aprendizaje automático y modelos predictivos que pueden buscar / identificar nuevas empresas potenciales en una etapa temprana que tienen el potencial de interrumpir la industria?

Gráfico distribuido: ¿Cuál es la forma más efectiva de distribuir los nodos de un gráfico en diferentes servidores en un sistema distribuido?

Cómo calcular [matemáticas] a ^ {\ binom {n} {r}} [/ matemáticas] de manera eficiente

¿Cuáles son los algoritmos más importantes y ampliamente utilizados para leer sobre criptografía?