SlideShare una empresa de Scribd logo
1 de 11
ESTRUCTURA DE DATOS IESTRUCTURA DE DATOS I
ADT Matriz SparseADT Matriz Sparse
EXPOSITOR:EXPOSITOR:
Ing. Evans Balcazar VeizagaIng. Evans Balcazar Veizaga
En análisis numérico , una matriz dispersa es una matriz en la que la
mayoría de los elementos son cero. Por el contrario, si la mayoría de los
elementos son cero, entonces la matriz se considera densa . La fracción
de cero elementos (elementos distintos de cero) en una matriz se llama la
escasez ( densidad ).
Matrices dispersas grandes a menudo aparecen en problemas científicos la
de ingeniería de aplicaciones y en la resolución de ecuaciones diferenciales
parciales .
Cuando el almacenamiento y la manipulación de matrices dispersas en un
ordenador es beneficioso ya menudo necesario utilizar especializados
algoritmos y estructuras de datos que se aprovechan de la estructura
escasa de la matriz. Las operaciones utilizando estructuras y algoritmos
densa matriz estándar son lentos e ineficientes cuando se aplica a grandes
matrices dispersas como el procesamiento y la memoria se desperdician
en los ceros. Algunos muy grandes matrices dispersas no son factibles
para manipular utilizando algoritmos densa matriz estándar.
Ejemplo:
Representación usual
float M[4][4]
Se puede pensar en una ED la cual solo almacene los valores No Nulos,
tales Matrices son llamadas esparcidas.
Método para Determinar si es esparcidas: “Cuente la cantidad de
memoria que gastaría la matriz en su representación normal, llámese a ese
numero N.
Cuente la cantidad de memoria que gastaría la Matriz M en un
representación de ternas ( i, j, M[i][j]), para cada M[i][j]<>0, asígnese un
espacio de 8 bytes para cada terna (2+2+4) llámese S a ese numero.
if (N>S) then Writeln(‘Matriz Sparse’)
else Writeln(‘No Sparse’)
Determinar si es Esparcida ?
N= 4 x 4 = 12 x float = 48 Bytes
S = (2+2+float) x 3 = 24 Bytes
Si N>S entonces “Es Sparse”.
Determinar si es Esparcida ?
N= ?
S = ?
Si N>S ?
Contructor hacerSparse(Fil,Col); // Produce una matriz nula Fil x Col
setElem(f,c, elem); //Pre: si (i,j) son Validas M[i][j]=elem
getElem(f,c); //Pre: si (i,j) son Validas retorna M[i][j]
setFils(Fil);
getFils();
setCols(Col);
getCols();
Traspuesta(Sparse S); //Retorna St
void main(){
Sparse A,B;
hacerSparse(A,3,2);
getElem(A,1,2,3);
getElem(A,3,1,9);
int x=getElem(A,1,2);
B=Traspuesta(A);
}
Necesitaremos construir el ADT posición para poder implementar el
ADT Sparse:
struct posicion{
int fil,col;
}
hacerPosicion(f,c);
setFil(f);
getFil();
setCol(c);
getCol();
Igual();
Mayor();
Menor();
La estructura se mantiene ordenada en forma ascendente por POS[]
struct Sparse{
posicion POS[MAX_E];
float VALOR[MAX_E];
int n, NFil, NCol;
}
void hacerSparse(Sparse s, int Fil, int Col){
s.NFil=Fil;
s.NCol=Col;
s.n=-1;
}
setElem(f,c, elem);
getElem(f,c);
setFils(Fil);
getFils();
setCols(Col);
getCols();
void setElem(Sparse s, int f, int c, float elem){
if(f<1 !! f>s.NFil !! c<1 !! c>s.NCol ){
S/“Fuera de Rango”
exit(1)
}
if(s.n==-1){
if(valor!=0){
s.n++;
hacerPosicion(s.POS[s.n],f,c);
s.VALOR[s.n]=elem
}
}else{
Posicion p;
hacerPosicion(p,f,c);
int pos=0;
while(pos<=s.n && s.POS[pos]< p) //menor(s.POS[pos],p)
pos++;
….
}
}
if(igual(s.POS[pos],p)){ // Si es Igual la posicion
if(valor!=0){ //Modificar el VALOR pos
s.VALOR[pos]=elem;
}
else{ //ELIMINAMOS la Casilla pos
for(int k=pos; k<s.n-1; k++){
s.POS[k] = s.POS[k+1]; s.VALOR[k] =
s.VALOR[k+1];
}
s.n--;
}
}
else{ // si no es igual INSERTAMOS
if(valor!=0){
for(int k=s.n+1;k>pos+1;k- -){
s.POS[k] = s.POS[k-1]; s.VALOR[k] = s.VALOR[k-1];
}
s.POS[pos] = p; s.VALOR[pos] = elem; s.n++;
}
void getElem(Sparse s, int f, int c){
if(f<1 !! f>s.Nfil !! c<1 !! c>s.Ncol ){
S/“Fuera de Rango”
exit(1)
}
Posicion p;
hacerPosicion(p,f,c);
int ini=0,fin=s.n;
while(ini<fin){
int m=int((ini+fin)/2);
if(igual(s.POS[m],p))
return s.VALOR[m];
else
if(mayor(s.POS[m],p))
ini=m+1;
else
fin=m-1;
}
return 0;
}
INF-220 Estructura de Datos I

Más contenido relacionado

La actualidad más candente

Otros tipos de arreglos
Otros tipos de arreglosOtros tipos de arreglos
Otros tipos de arreglosjairml
 
Asigancion #3
Asigancion #3Asigancion #3
Asigancion #3Kas181408
 
Algoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosAlgoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosJeiner Gonzalez Blanco
 
John barahona informartica blogg
John barahona informartica bloggJohn barahona informartica blogg
John barahona informartica bloggantuan salchichon
 
Tema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglosTema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglosRemgio Ayala
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 dFranco Guamán
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansDaniel Gómez
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las edFranco Guamán
 
Tema 5 otros_tipos_de_arreglos - copia
Tema 5 otros_tipos_de_arreglos - copiaTema 5 otros_tipos_de_arreglos - copia
Tema 5 otros_tipos_de_arreglos - copiaRemgio Ayala
 
Tema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglosTema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglosJonathan_Morocho
 
Pratica9 y 10 carlos romero_orlandofernandez
Pratica9 y 10 carlos romero_orlandofernandezPratica9 y 10 carlos romero_orlandofernandez
Pratica9 y 10 carlos romero_orlandofernandezCarlos Romero
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructurasrichmadriz
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerásloco8888
 
ESTADISTI EXPO.docx
ESTADISTI EXPO.docxESTADISTI EXPO.docx
ESTADISTI EXPO.docxLauraCacais
 
Arrays multidimensionales pdf
Arrays multidimensionales pdfArrays multidimensionales pdf
Arrays multidimensionales pdfErika Herrera
 

La actualidad más candente (20)

Otros tipos de arreglos
Otros tipos de arreglosOtros tipos de arreglos
Otros tipos de arreglos
 
Asigancion #3
Asigancion #3Asigancion #3
Asigancion #3
 
Presentación I-Math
Presentación I-MathPresentación I-Math
Presentación I-Math
 
Estructura de datos y recursión
Estructura de datos y recursiónEstructura de datos y recursión
Estructura de datos y recursión
 
Algoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosAlgoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminos
 
John barahona informartica blogg
John barahona informartica bloggJohn barahona informartica blogg
John barahona informartica blogg
 
Tema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglosTema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglos
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed
 
Tema 5 otros_tipos_de_arreglos - copia
Tema 5 otros_tipos_de_arreglos - copiaTema 5 otros_tipos_de_arreglos - copia
Tema 5 otros_tipos_de_arreglos - copia
 
Tema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglosTema 5 otros_tipos_de_arreglos
Tema 5 otros_tipos_de_arreglos
 
Pratica9 y 10 carlos romero_orlandofernandez
Pratica9 y 10 carlos romero_orlandofernandezPratica9 y 10 carlos romero_orlandofernandez
Pratica9 y 10 carlos romero_orlandofernandez
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructuras
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
 
ESTADISTI EXPO.docx
ESTADISTI EXPO.docxESTADISTI EXPO.docx
ESTADISTI EXPO.docx
 
Arrays multidimensionales pdf
Arrays multidimensionales pdfArrays multidimensionales pdf
Arrays multidimensionales pdf
 
Modelos GeoméTricos Y Fractales
Modelos GeoméTricos Y FractalesModelos GeoméTricos Y Fractales
Modelos GeoméTricos Y Fractales
 

Destacado (20)

Http al descubierto
Http al descubiertoHttp al descubierto
Http al descubierto
 
Presentacion Dui
Presentacion DuiPresentacion Dui
Presentacion Dui
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Html 5
Html 5Html 5
Html 5
 
Postgrado en diseño gráfico, web y maquetación
Postgrado en diseño gráfico, web y maquetaciónPostgrado en diseño gráfico, web y maquetación
Postgrado en diseño gráfico, web y maquetación
 
Maquetación web mamani condori, elmer
Maquetación web mamani condori, elmerMaquetación web mamani condori, elmer
Maquetación web mamani condori, elmer
 
Algunas etiquetas HTML5 y opciones para segunda nota
Algunas etiquetas HTML5 y opciones para segunda notaAlgunas etiquetas HTML5 y opciones para segunda nota
Algunas etiquetas HTML5 y opciones para segunda nota
 
Pagina web con maquetacion
Pagina web con maquetacionPagina web con maquetacion
Pagina web con maquetacion
 
Introduccion a Grafos 1
Introduccion a Grafos 1Introduccion a Grafos 1
Introduccion a Grafos 1
 
Arboles Recorridos
Arboles RecorridosArboles Recorridos
Arboles Recorridos
 
Desarrollo de sitio web - Esteban Martinich
Desarrollo de sitio web - Esteban MartinichDesarrollo de sitio web - Esteban Martinich
Desarrollo de sitio web - Esteban Martinich
 
Modelo Simulado
Modelo SimuladoModelo Simulado
Modelo Simulado
 
Introduccion a j_query
Introduccion a j_queryIntroduccion a j_query
Introduccion a j_query
 
Html
HtmlHtml
Html
 
Introduccion a Grafos 2
Introduccion a Grafos 2Introduccion a Grafos 2
Introduccion a Grafos 2
 
Css
CssCss
Css
 
Dce06 Arteaga 2007 2 Conferencia
Dce06  Arteaga 2007 2 ConferenciaDce06  Arteaga 2007 2 Conferencia
Dce06 Arteaga 2007 2 Conferencia
 
Diseño web inclusivo y la maquetación
Diseño web inclusivo y la maquetaciónDiseño web inclusivo y la maquetación
Diseño web inclusivo y la maquetación
 
Html
HtmlHtml
Html
 
Dce06 Arteaga 2007 1 Conferencia
Dce06  Arteaga 2007 1 ConferenciaDce06  Arteaga 2007 1 Conferencia
Dce06 Arteaga 2007 1 Conferencia
 

Similar a Matriz Sparse

Matlab -compu_aplicada
Matlab  -compu_aplicadaMatlab  -compu_aplicada
Matlab -compu_aplicadaHernaly
 
Computacion aplicada
Computacion aplicadaComputacion aplicada
Computacion aplicadaCarobrigit
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3Maggy Judith
 
Matrices y sistemas de ecuaciones
Matrices y sistemas de ecuacionesMatrices y sistemas de ecuaciones
Matrices y sistemas de ecuacionesBrian Bastidas
 
Investigación #1
Investigación #1Investigación #1
Investigación #1Luis Nuñez
 
Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6Andres Garcia Garcia
 
18 tipos-de-datos
18 tipos-de-datos18 tipos-de-datos
18 tipos-de-datosAndy T
 
Matrices y determinantes
Matrices y determinantesMatrices y determinantes
Matrices y determinantesbea sosa
 
Presentacion de vectores y matrices
Presentacion de vectores y matricesPresentacion de vectores y matrices
Presentacion de vectores y matricesletty20151998
 
PROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTES
PROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTESPROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTES
PROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTESJenny Carvajal
 

Similar a Matriz Sparse (20)

06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C
 
Informatica
InformaticaInformatica
Informatica
 
Los sdkn
Los sdknLos sdkn
Los sdkn
 
1ro secun
1ro secun1ro secun
1ro secun
 
Matlab -compu_aplicada
Matlab  -compu_aplicadaMatlab  -compu_aplicada
Matlab -compu_aplicada
 
Computacion aplicada
Computacion aplicadaComputacion aplicada
Computacion aplicada
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3
 
Matrices y sistemas de ecuaciones
Matrices y sistemas de ecuacionesMatrices y sistemas de ecuaciones
Matrices y sistemas de ecuaciones
 
Investigación #1
Investigación #1Investigación #1
Investigación #1
 
Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Matlab
MatlabMatlab
Matlab
 
Numpy y Scipy
Numpy y ScipyNumpy y Scipy
Numpy y Scipy
 
Tema 11
Tema 11Tema 11
Tema 11
 
18 tipos-de-datos
18 tipos-de-datos18 tipos-de-datos
18 tipos-de-datos
 
Matrices y determinantes
Matrices y determinantesMatrices y determinantes
Matrices y determinantes
 
Res vecmat8
Res vecmat8Res vecmat8
Res vecmat8
 
Presentacion de vectores y matrices
Presentacion de vectores y matricesPresentacion de vectores y matrices
Presentacion de vectores y matrices
 
PROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTES
PROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTESPROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTES
PROYECTO DE AULA MATEMATICAS-MATRICES Y DETERMINANTES
 

Más de Evans Balcazar

ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESEvans Balcazar
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSEvans Balcazar
 
Arboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarArboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarEvans Balcazar
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVLEvans Balcazar
 
Arboles AVL Rotaciones
Arboles AVL RotacionesArboles AVL Rotaciones
Arboles AVL RotacionesEvans Balcazar
 
Dce06 Arteaga 2007 3 Conferencia
Dce06  Arteaga 2007 3 ConferenciaDce06  Arteaga 2007 3 Conferencia
Dce06 Arteaga 2007 3 ConferenciaEvans Balcazar
 

Más de Evans Balcazar (15)

ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
 
Recorridos de Grafos
Recorridos de GrafosRecorridos de Grafos
Recorridos de Grafos
 
Arboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar EliminarArboles 2-3 Insertar Eliminar
Arboles 2-3 Insertar Eliminar
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVL
 
Insercion Arboles AVL
Insercion Arboles AVLInsercion Arboles AVL
Insercion Arboles AVL
 
Arboles AVL Rotaciones
Arboles AVL RotacionesArboles AVL Rotaciones
Arboles AVL Rotaciones
 
Arboles Ordenados
Arboles OrdenadosArboles Ordenados
Arboles Ordenados
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Recorrido de Grafos
Recorrido de GrafosRecorrido de Grafos
Recorrido de Grafos
 
Dce06 Arteaga 2007 3 Conferencia
Dce06  Arteaga 2007 3 ConferenciaDce06  Arteaga 2007 3 Conferencia
Dce06 Arteaga 2007 3 Conferencia
 
Modelo Persistente
Modelo PersistenteModelo Persistente
Modelo Persistente
 
Modelo Estatico
Modelo EstaticoModelo Estatico
Modelo Estatico
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 

Último

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 

Último (20)

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 

Matriz Sparse

  • 1. ESTRUCTURA DE DATOS IESTRUCTURA DE DATOS I ADT Matriz SparseADT Matriz Sparse EXPOSITOR:EXPOSITOR: Ing. Evans Balcazar VeizagaIng. Evans Balcazar Veizaga
  • 2. En análisis numérico , una matriz dispersa es una matriz en la que la mayoría de los elementos son cero. Por el contrario, si la mayoría de los elementos son cero, entonces la matriz se considera densa . La fracción de cero elementos (elementos distintos de cero) en una matriz se llama la escasez ( densidad ). Matrices dispersas grandes a menudo aparecen en problemas científicos la de ingeniería de aplicaciones y en la resolución de ecuaciones diferenciales parciales . Cuando el almacenamiento y la manipulación de matrices dispersas en un ordenador es beneficioso ya menudo necesario utilizar especializados algoritmos y estructuras de datos que se aprovechan de la estructura escasa de la matriz. Las operaciones utilizando estructuras y algoritmos densa matriz estándar son lentos e ineficientes cuando se aplica a grandes matrices dispersas como el procesamiento y la memoria se desperdician en los ceros. Algunos muy grandes matrices dispersas no son factibles para manipular utilizando algoritmos densa matriz estándar.
  • 3. Ejemplo: Representación usual float M[4][4] Se puede pensar en una ED la cual solo almacene los valores No Nulos, tales Matrices son llamadas esparcidas. Método para Determinar si es esparcidas: “Cuente la cantidad de memoria que gastaría la matriz en su representación normal, llámese a ese numero N. Cuente la cantidad de memoria que gastaría la Matriz M en un representación de ternas ( i, j, M[i][j]), para cada M[i][j]<>0, asígnese un espacio de 8 bytes para cada terna (2+2+4) llámese S a ese numero. if (N>S) then Writeln(‘Matriz Sparse’) else Writeln(‘No Sparse’)
  • 4. Determinar si es Esparcida ? N= 4 x 4 = 12 x float = 48 Bytes S = (2+2+float) x 3 = 24 Bytes Si N>S entonces “Es Sparse”. Determinar si es Esparcida ? N= ? S = ? Si N>S ?
  • 5. Contructor hacerSparse(Fil,Col); // Produce una matriz nula Fil x Col setElem(f,c, elem); //Pre: si (i,j) son Validas M[i][j]=elem getElem(f,c); //Pre: si (i,j) son Validas retorna M[i][j] setFils(Fil); getFils(); setCols(Col); getCols(); Traspuesta(Sparse S); //Retorna St void main(){ Sparse A,B; hacerSparse(A,3,2); getElem(A,1,2,3); getElem(A,3,1,9); int x=getElem(A,1,2); B=Traspuesta(A); }
  • 6. Necesitaremos construir el ADT posición para poder implementar el ADT Sparse: struct posicion{ int fil,col; } hacerPosicion(f,c); setFil(f); getFil(); setCol(c); getCol(); Igual(); Mayor(); Menor();
  • 7. La estructura se mantiene ordenada en forma ascendente por POS[] struct Sparse{ posicion POS[MAX_E]; float VALOR[MAX_E]; int n, NFil, NCol; } void hacerSparse(Sparse s, int Fil, int Col){ s.NFil=Fil; s.NCol=Col; s.n=-1; } setElem(f,c, elem); getElem(f,c); setFils(Fil); getFils(); setCols(Col); getCols();
  • 8. void setElem(Sparse s, int f, int c, float elem){ if(f<1 !! f>s.NFil !! c<1 !! c>s.NCol ){ S/“Fuera de Rango” exit(1) } if(s.n==-1){ if(valor!=0){ s.n++; hacerPosicion(s.POS[s.n],f,c); s.VALOR[s.n]=elem } }else{ Posicion p; hacerPosicion(p,f,c); int pos=0; while(pos<=s.n && s.POS[pos]< p) //menor(s.POS[pos],p) pos++; …. } }
  • 9. if(igual(s.POS[pos],p)){ // Si es Igual la posicion if(valor!=0){ //Modificar el VALOR pos s.VALOR[pos]=elem; } else{ //ELIMINAMOS la Casilla pos for(int k=pos; k<s.n-1; k++){ s.POS[k] = s.POS[k+1]; s.VALOR[k] = s.VALOR[k+1]; } s.n--; } } else{ // si no es igual INSERTAMOS if(valor!=0){ for(int k=s.n+1;k>pos+1;k- -){ s.POS[k] = s.POS[k-1]; s.VALOR[k] = s.VALOR[k-1]; } s.POS[pos] = p; s.VALOR[pos] = elem; s.n++; }
  • 10. void getElem(Sparse s, int f, int c){ if(f<1 !! f>s.Nfil !! c<1 !! c>s.Ncol ){ S/“Fuera de Rango” exit(1) } Posicion p; hacerPosicion(p,f,c); int ini=0,fin=s.n; while(ini<fin){ int m=int((ini+fin)/2); if(igual(s.POS[m],p)) return s.VALOR[m]; else if(mayor(s.POS[m],p)) ini=m+1; else fin=m-1; } return 0; }