Discusión sobre el artículo "Del básico al intermedio: Colas, listas y árboles (III)"

 

Artículo publicado Del básico al intermedio: Colas, listas y árboles (III):

En este artículo daremos el siguiente paso para implementar y entender qué es y cómo funciona una lista enlazada. Aunque el contenido de este artículo pueda resultar bastante denso y confuso para quienes se están iniciando, intenté explicarlo de la forma más didáctica posible. Así podrás entender por qué y cuándo usar una lista enlazada.

Cuando usas la función de biblioteca de MQL5 llamada ArrayInsert, su objetivo es insertar nuevos datos dentro de un array ya existente. Hasta ahí, todo correcto. Sin embargo, esta función tiene un pequeño detalle: cuando insertamos nuevos datos al final del array ya existente, los datos simplemente se copian dentro del array. Es básicamente equivalente a usar la función ArrayCopy.

Sin embargo, cuando queremos añadir elementos en medio de un array ya existente, o al inicio de ese mismo array, ocurre algo diferente. En este caso, la función ArrayInsert asignará un nuevo bloque de memoria; luego copiará parte de los elementos en este nuevo bloque. Añadirá los nuevos elementos que insertamos en el bloque recién asignado. Solo después copiará el resto del array original dentro del bloque asignado. Con esto, si usamos un array muy grande, podemos tener un tiempo de ejecución un tanto elevado. Aunque, con el bus de datos actual de las placas base modernas, estos bloques que deben desplazarse tienen que ser realmente muy grandes para que puedas notar la diferencia. O, como mínimo, necesitamos efectuar varias inserciones para que el tiempo de procesamiento pueda percibirse.

No obstante, al comienzo de la era de las computadoras, el procesamiento no era tan ágil. El bus de datos era lento, y estos movimientos, incluso con pocos elementos, requerían mucho tiempo. Así, ingenieros y académicos crearon una solución para el problema. Y esta solución son precisamente las listas. Ahora, volvamos a la cuestión del código 01. Cuando la lista está totalmente creada, lo que tendremos en la memoria es algo parecido a lo que se ve a continuación.

Autor: CODE X