¿Cuál es la conexión entre el montón utilizado en la asignación de memoria dinámica y la estructura de datos? [duplicar]

StackOverflow https://stackoverflow.com/questions/2410683

Pregunta

  

Duplicar posible:
   ¿Por qué son dos conceptos diferentes tanto llamado “montón”?

He buscado en Google en todo, pero no puedo encontrar la respuesta a esta pregunta; ¿cuál es la conexión entre el montón utilizado en la asignación de memoria dinámica y la estructura de datos? Se organiza la memoria en el montón de una manera que es similar la estructura de los datos del montón? Si es así, esto parece muy extraño, ya que ir a buscar la memoria debe ser de acceso aleatorio que yo sepa (es decir, O (1)), pero encontrar un artículo de un montón no se realiza en tiempo constante.

Por lo tanto, se trata simplemente de un significado sobrecargada del montón, por así decirlo, o hay algún tipo de conexión?

¿Fue útil?

Solución

Montón es un sinónimo de lo que la norma exige la libre-tienda. En contraste con las pilas, que se utiliza para las llamadas de función, y el almacenamiento de objetos-función local, montones crecen en la dirección opuesta (de arriba abajo) en muchas implementaciones (en contraposición a las pilas - que crecen de abajo a arriba). Por supuesto, ninguno de estos son requeridos por la norma.

La estructura de datos montón, por otra parte, es completamente diferente - es una estructura de árbol especializado con ciertas propiedades.

Es posible algunas implementaciones utilizan la estructura de datos para la gestión de montón de libre tienda, de donde el nombre puede haber sido derivado. (Ver compañero de asignación de memoria .)

Otros consejos

No, el montón programa es diferente de la estructura de datos montón. En otras palabras, no hay relación. Esta pregunta discute el programa de pila en detalle.

No existe una relación, pero admito el nombre puede ser confuso. El montón en la memoria es una matriz que el sistema operativo asigna a los programas. Un montón se implementa mediante programas de búsqueda rápida.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top