Creo que estás buscando algo así como una lista XOR Linked.
Una lista ordinaria de enlaces dobles requiere espacio para dos campos de direcciones para almacenar las direcciones de los nodos anteriores y siguientes. Se puede crear una versión eficiente de memoria de la Lista Doblemente Vinculada usando solo un espacio para el campo de dirección con cada nodo. Esta lista de enlaces dobles eficiente de la memoria se llama Lista enlazada XOR. En la lista vinculada XOR, en lugar de almacenar direcciones de memoria reales, cada nodo almacena el XOR de las direcciones de los nodos anteriores y siguientes.
Recorrido de la lista vinculada de XOR:
Podemos atravesar la lista XOR en dirección hacia adelante y hacia atrás. Mientras recorremos la lista, debemos recordar la dirección del nodo al que se accedió anteriormente para calcular la dirección del siguiente nodo.
- ¿Cuál es la forma más fácil de demostrar que si la intersección de 2 rutas es un gráfico conectado, entonces la unión de las 2 rutas tiene al menos un circuito?
- Crear un algoritmo simple me lleva horas, ¿cómo puedo ser más rápido?
- Cómo escribir un algoritmo que diseña guiones
- ¿Crees que la programación no es para mí?
- ¿Cómo se puede observar fácilmente que la complejidad temporal del código escrito es exponencial?
Explicado de una manera mucho mejor en los siguientes enlaces:
Lista vinculada XOR
¿Cómo funciona exactamente una lista XOR Linked?
Lista enlazada XOR: una lista enlazada doblemente eficiente en memoria | Conjunto 1 – GeeksforGeeks