Creo que no debes aceptar no entender estas cosas, porque son realmente fundamentales. Dicho esto, no entenderlos no es nada por lo que sentirse mal. Puede explicar una lista vinculada a un niño. Entonces, si su maestro no se los explicó, es culpa suya. Por lo tanto, no debería pasar tiempo preocupándose, sino más bien tratar de encontrar personas que puedan explicárselo. A menudo, un compañero de estudios es un maestro mucho mejor que un académico de tiempo completo.
Piensa en trenes
Imagine que tiene un conjunto de vagones de ferrocarril, donde cada vagón tiene suficiente capacidad para contener una pieza de datos. Cada carro tiene algún tipo de gancho en su extremo, que se puede conectar al frente de otro carro.
De hecho, esto le da una lista vinculada:
- la lista vacía: el tren que no contiene vagones (y por lo tanto no transporta datos)
- agregar un elemento: agregue un nuevo carro que contenga el elemento en frente del tren y conéctelo al resto del tren
- eliminar un elemento: encuentre el carro que contiene el elemento. Retírela (es posible que necesite una grúa aquí :)), enganche el carro antes con el carro después.
- reemplazando un elemento: encuentre el carro que contiene el elemento antiguo. Intercambie el elemento antiguo con el nuevo elemento.
- insertando un elemento justo después de otro: busque el carro que contiene el elemento después del cual desea insertar. Inserte un nuevo carro después, que se engancha en consecuencia (no queremos que el tren se desmorone) y coloque el nuevo elemento en él.
En contraste con eso, podría pensar en una matriz como un tren con un número determinado de vagones, que no se puede reorganizar de ninguna manera. Todo lo que puede hacer es cambiar los datos dentro de ellos. Este modelo también explica muchos de los problemas que tienen las matrices:
- Si desea insertar un elemento antes que otro, deberá mover todos los siguientes elementos al siguiente carro.
- Si desea eliminar un elemento, deberá mover todos los siguientes elementos un carro al frente.
- Si necesita un tren con más vagones, tendrá que construir uno nuevo, porque no puede anteponer un vagón. Por otro lado, encontrar carruajes en una matriz es mucho más fácil, porque simplemente puede numerarlos permanentemente (su orden nunca cambiará).
En cuanto a la pila: una "pila" es menos una estructura de datos que una idea. La idea de la pila es que actúa como una pila de libros. Solo puede poner libros en la parte superior de la pila y solo puede sacar el libro superior de la pila (al menos si los libros son lo suficientemente pesados).
Dicho esto, una lista vinculada se puede usar como una pila, si piensa en los datos de los vagones como libros, y el libro en el primer carro como la parte superior de la pila.
Así que espero que esto te haya ayudado. Quizás no lo hizo. Tal vez eres más de un tipo visual. En ese caso, le sugiero que encuentre a alguien que sea bueno para dar explicaciones visuales y se las explique. No tomará mucho tiempo, pero valdrá la pena.
Está bien luchar con esto ahora. Pero simplemente aceptarlo no es una opción a largo plazo.