Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1201
II Semestre 2008
[<=] [home] [<>] [\/] [=>]
CI-1201 Programación II

Tarea #3 [solución]

Versión mejorada de la Matriz Rala

      El objetivo de esta tarea programada es que usted use como base una clase ya implementada para obtener otra cuya interfaz sea igual, pero que use una implementación diferente. Tome como base la Matriz Chirrisquitica y modifíquela, implementando la matriz usando un lista de valores para cada fila, de manera que si en la cuarta lista aparece el valor (12,"666") es porque en la entrada M(4,12) el valor almacenado es "666". El truco es evitar que las entradas vacías estén en la lista, pues de lo contrario la cantidad de espacio utilizado sería mayor para la representación rala que para la otra.

      Incluya en su documentación el cálculo de cuándo es mejor usar la matriz densa en lugar de esta matriz rala. No se complique: use std::list<>.

Di Mare, Adolfo
"Una Clase Matriz Chirrisquitica Escrita en C++"; Reporte Técnico ECCI-2004-02, Escuela de Ciencias de la Computación e Informática, Universidad de Costa Rica, 2004.
      http://www.di-mare.com/adolfo/p/Matrix.htm

m_VL<list<>>  _______
    +---+    /       \
  0 | *-|---| 1 , 'a' |
    +---+    \_______/                      0 1 2 3 4 5 6
  1 | ? |   M(0,1)=='a'                 0 / - a - - - - - \ 
    +---+                               1 | - - - - - - - |
  2 | ? |     _______       _______     2 | - - - - - - - |
    +---+    /       \     /       \    3 | - c - - - b - |
  3 | *-|---| 5 , 'b' |---| 1 , 'c' |   4 \ - - - - - - - /
    +---+    \_______/     \_______/
  4 | ? |   M(3,5)=='b'   M(3,1)=='c'
    +---+
        m_same == '-'    rows() == m_VL.size()  m_cols == 7

      Entregue su tarea por correo electrónico, como lo hizo anteriormente.

[mailto:] Entrega de Tareas

Tiempo de entrega: 7 días
Entregue su documentación en la primera fecha, y luego entregue el programa completo en la segunda fecha.
Segunda etapa: 3 días
Modalidad: En parejas

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2008
Derechos de autor reservados © 2008
[home] <> [/\]