Tad matriz esparcida

Solo disponible en BuenasTareas
  • Páginas : 2 (364 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de junio de 2011
Leer documento completo
Vista previa del texto
TAD Matriz esparcida. La forma más simple de implementar una matriz es usando un array de dos dimensiones. Sin embargo, en muchas aplicaciones, las matrices son esparcidas, es decir, con la mayoríade sus valores iguales a 0. En tales casos, y con el fin alcanzar una gestión eficiente de la memoria, es más aconsejable implementar una matriz usando listas.
En ese caso, tendríamos una lista conlos números de fila de la matriz que almacenan valores distintos de cero y para cada fila, la lista de pares: número de columna, elemento almacenado distinto de cero. La principal ventaja de estarepresentación es que no almacena ceros.
A continuación aparece un ejemplo de matriz esparcida y su representación usando estas listas:

La especificación y la representación escogidas para realizarla implementación del TAD Matriz Esparcida son:

public class MatrizEsparcida{
//Declaración de tipos: MatrizEsparcida, int
//Características: Es una matriz de dos dimensiones n x m con lamayoría de sus valores iguales a 0.

Los objetos son modificables.

private int numFil, numCol;
private Lista matriz;

public MatrizEsparcida (int n, int m) throws IllegalArgumentException//Produce: si n ó m son negativos, lanza la excepcion IllegalArgumentException
sino crea una matriz esparcida de n filas y m columnas.

public void asignar (int i, int j, int e) throwsIllegalArgumentException
//Produce: si i<0 ó i >n ó j<0 ó j>m lanza la excepción IllegalArgumentException
sino asigna el entero e a la fila i columna j de this.

public int recuperar(int i, intj) throws IllegalArgumentException
//Produce: si i<0 ó i >n ó j<0 ó j>m lanza la excepción IllegalArgumentException
sino devuelve el entero que está en la fila i columna j de this.public int numeroFilas()
//Produce: devuelve el número de filas de la matriz

public int numeroColumnas()
//Produce: devuelve el número de columnas de la matriz
}

Se pide implementar...
tracking img