Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Laboratorio: Clase 3 y 4
APUNTES DE CLASE
Matrices
Una matriz es una estructura de datos que permite organizar la información en forma de filas y
columnas. Hasta este curso las matrices que han utilizado han sido estáticas, esto quiere decir
que sus dimensiones son ya definidas.
Matriz Dispersa
Es una estructura de datos que representa una matriz con la característica de que se busca
optimizar la memoria utilizada creando los espacios en la matriz que en realidad se necesitan. La
implementación de esta estructura de datos es mediante listas enlazadas. Esta estructura de
datos va creando los nodos y cabeceras conforme se va necesitando.
Implementación
La implementación del ejemplo en clase va a ser una matriz con coordenadas “x” y “y”, aunque la
matriz bien se puede convertir en un cubo. Este ejemplo será la implementación basada en listas
enlazadas y el lenguaje será Python.
Clase Nodo:
La clase nodo de la matriz en este caso tendrá cuatro punteros: siguiente, anterior, arriba y
abajo. Estos punteros nos ayudarán a movilizarnos en la matriz implementada. Otros datos
adicionales que almacenaremos en el nodo es la coordenada “x” y coordenada “y”.
Clase Matriz:
En la clase matriz para esta implementación inicializamos un nodo que nos servirá como la raíz
de las cabeceras, le llamaremos root. Esta raíz va a tener las cabeceras de las columnas que
existen y la cabecera de filas que existen.
Esta implementación es una sugerencia y no es la única forma de realizar una matriz dispersa
Casos de Inserción
Para la inserción en la matriz dispersa existen casos de inserción que se deben identificar para
saber los pasos que se deben de tomar:
Ya que ambas existen lo único que queda es la inserción ordenada tanto en X y Y.
Implementación en Laboratorio
Fórmula
Esta fórmula es basada en lo que se enseña en el curso de Compiladores 2 al momento de que
enseñan lenguaje de tres direcciones (En estructura de datos esto debería de quedar claro), y es
una estrategia para linealizar los arreglos de N dimensiones.
I n = Coordenada n
N n = Dimensión n
D = # de Dimensiones
Laboratorio 4