SlideShare una empresa de Scribd logo
1 de 10
Juan Camilo González I.
David Felipe Hernández
Jhoan Sebastián Gómez
Matemáticas Discretas
Profesor: Adrián Alonso Arboleda
El método más directo para almacenar elementos de datos es colocarlos en
una lista o arreglo lineal. Esto equivale a poner elementos de datos
consecutivos en lugares de almacenamiento con numeración consecutiva en la
memoria de una computadora.
Un método alternativo es la lista enlazada. El almacenamiento de la unidad
básica de información es la celda de almacenamiento, tales celdas tienen
espacio para dos elementos, los datos y los apuntadores (punteros) que
señalan la localización de la siguiente celda por considerar.
Arreglo lineal A con datos 𝐷𝑖 en
las localidades A[i]
Lista enlazada, en la práctica se utiliza un
arreglo de datos A y un arreglo de
apuntadores P
De forma similar a los métodos presentados antes para datos simples, las
relaciones y dígrafos se pueden representar los siguientes métodos:
Matriz de Relación (Representación Secuencial)
Una relación R representarse por una matriz 𝑀 𝑅, entonces R se puede representar
en una computadora por medio de un arreglo bidimensional que tenga ceros y unos
almacenados en cada posición.
Ejemplo:
Si A = {1,2} y R = {(1,1), (1,2), (2,2)} entonces estos datos pueden representarse en
el arreglo bidimensional MAT, en el cual MAT[1,1]=1, MAT[1,2]=1. MAT[2,1]=0,
MAT[2,2] = 1
Lista Enlazada (Representación Enlazada)
Una relación y su dígrafo pueden representarse mediante una lista enlazada, para
ello se utilizan dos arreglos TAIL y HEAD que representan los pares ordenados que
determinan los lados del dígrafo, un arreglo NEXT de apuntadores al lado siguiente,
y una variable adicional START que indica el primer elemento de datos.
Ejemplo
Considérese la relación cuyo dígrafo se muestra abajo, se puede almacenar el
dígrafo en forma de lista enlazada usando el siguiente esquema:
Un algoritmo en el que se puede
localizar un vértice e investigar
los lados que comienzan o
terminan en éste vértice utiliza
además un arreglo VERT en el
cual para cada vértice I, VERT[I]
es un apuntador hacia el primer
lado de I, y NEXT enlaza los
lados de I, e inicia en VERT[I].
Representación de grafos como estructura de datos
Estructura de Datos: En programación, una estructura de datos es una forma
de organizar un conjunto de datos elementales con el objetivo de facilitar su
manipulación. Un dato elemental es la mínima información que se tiene en un
sistema.
Grafo: Un grafo en el ámbito de las ciencias de la computación es una
estructura de datos, en concreto un tipo abstracto de datos (TAD), que consiste
en un conjunto de nodos (también llamados vértices) y un conjunto de arcos
(aristas) que establecen relaciones entre los nodos.
Grafo Dirigido (Digrafo): Es un par ordenado 𝐷 = 𝑉, 𝐸 donde V es un
conjunto de vértices o nodos, 𝑉 ≠ 0 , y 𝐸 ⊆ 𝑎, 𝑏 ∈ 𝑉 × 𝑉: 𝑎 ≠ 𝑏 es un
conjunto de pares ordenados de elementos de V denominados aristas o arcos,
donde por definición un arco va del primero nodo (a) al segundo nodo (b)
dentro del par. Dada una arista (a, b), a es su nodo inicial y b es su nodo final.
Orden, grado y bucle: Se llama orden del grafo G a su número de vértices 𝑉 ,
el grado de un vértice o nodo 𝑣 ∈ 𝑉 es igual al número de arcos que lo tienen
como extremo. Un bucle es una arista que relaciona al mismo nodo, es decir,
una arista donde el nodo inicial y el nodo final coinciden.
Vértices Adyacentes: Son aquellos vértices unidos por alguna arista.
Aristas Paralelas: Son aquellas comprendidas entre los mismos vértices.
Aristas Adyacentes: Las que tienen un único vértice en común siendo distintas y
no paralelas.
Aristas Incidentes en un Vértice: Las que tienen a dicho vértice por extremo.
Representación por Estructura de Lista
Lista de incidencia: El grafo está representado por un arreglo de aristas
identificadas por un par ordenado de vértices que son los que conecta esa arista.
Lista de adyacencia: El grafo está representado por un arreglo de vértices, cada
vértice tiene una lista de vértices los cuales son adyacentes a él.
Lista de grados: También llamada secuencia de grados o sucesión gráfica de un
grafo no dirigido, es una secuencia de números que corresponden a los grados de
los vértices del grafo.
Representación por Estructuras Matriciales
Matriz de adyacencia: El grafo está representado por una matriz cuadrada M de
dimensión n*n en donde n es el número de vértices. Si hay una arista que vaya del
vértice i al vértice j, entonces el elemento 𝑀 𝑖,𝑗 = 1, de lo contrario 𝑀 𝑖,𝑗 = 0.
Grafo G(V,A) Conjuntos Matriz de adyacencia Matriz de incidencia
Secuencia
de grados
Lista de
Adyacencia
V = { 1, 2,
3, 4, 5, 6 }
A = {
{1,1},
{1,2},
{1,5},
{2,3},
{2,5},
{3,4},
{4,5},
{4,6} }
(4,3,3,3,2,1)
{ {1,2,5},
{3,5}, {4},
{5,6} }
Matriz de incidencia: El grafo está representado por una matriz de V (vértices) por
A (aristas), donde [vértice, arista] contiene la información de la arista (1 -
conectado, 0 - no conectado).
Ejemplos:
Hay varios factores que determinan la elección del método usado para el
almacenamiento: el número total de elementos n que hay en el conjunto A de la
relación, el número de pares ordenados que hay en R o la razón de ese número a
𝑛2
, y la información posible que ha de obtenerse de R.
Análisis de la Representación Secuencial
Sea A = {1, 2, …, N} y sea R una relación en A que contiene P pares ordenados y
cuya matriz 𝑀 𝑅 está representada por el arreglo MAT. Se debe considerar los
problemas de agregar un par (I,J) a R y probar si R es transitiva.
► Para agregar (I,J) a R se realiza
► Para probar si R es transitiva se considera el siguiente algoritmo:
El número total de pasos que
requiere el algoritmo TRANS es:
𝑇𝐴 = 𝑃𝑁 + (𝑁2
− 𝑃)
Supóngase que 𝑃 = 𝑘𝑁2, en donde
0 ≤ 𝑘 ≤ 1, puesto que P debe estat
entre 0 y 𝑁2
.entonces el algoritmo
tiene 𝑇𝐴 con:
𝑇𝐴 = 𝑘𝑁3 + (1 − 𝑘)𝑁2
Análisis de la Representación Enlazada
Considérese el mismo digrafo representado por el esquema de lista enlazada
utilizando VERT, TAIL, HEAD y NEXT. El algoritmo ADDEDGE agrega un lado (I,J) a
la relación R suponiendo que TAIL, HEAD y NEXT tienen posiciones adicionales
disponibles y que el número total se lados se cuenta por una variable P. Además
supóngase que se dispone de una función booleana EDGE(I,J) que tiene valor true
si (I,J) está en R o de lo contrario el valor false, el algoritmo NEWTRANS hace la
prueba de transitividad de R.
Cada uno de los P lados comienza en un
vértice único, así que, en promedio
𝑃
𝑁
= 𝐷
lados comienzan en el vértice. El algoritmo
completo promediará alrededor de 𝑁𝐷3 pasos
de ejecución. Se supone que 𝑃 = 𝑘𝑁2
con
0 ≤ 𝑘 ≤ 1 , entonces NEWTRANS hace un
promedio de 𝑇𝐿 = 𝑁
𝑘𝑁2
𝑁
3
= 𝑘3 𝑁4 pasos.
1. Kolman, Bernard; Busby, Robert; Ross Sharon. Estructuras de matemáticas
discretas para la computación. Editorial Pearson Educación.
2. Jiménez Murillo, José Alfredo. Matemáticas para la computación. Editorial
Alfaomega.
3. Lipschutz, Seymour. Estructura de Datos. Serie Schaum en Computación.
McGraw-Hill.
4. Quintero Cabrera, Pablo Emilio. Representación de grafos en la memoria de la
computadora. http://prezi.com/cx7ldjuk0ryl/representacion-de-grafos-en-la-
memoria-de-la-computadora
5. Buitrago, Andrés Felipe; Romero, Sebastián; Largo, Mateo. Representación en
computadora de relaciones y digrafos. http://prezi.com/lrwn9zr9uhw4/copy-
of-representacion-en-computacion-de-relaciones-y-digrafos
6. González Gutiérrez, Francisco José. Apuntes de Matemática Discreta.
http://www2.uca.es/matematicas/Docencia/ESI/1711003/Apuntes/Leccion14.
pdf
7. Exposito Lopez, Daniel; García Soto Abraham; Martin Gomez, António Jose.
Grafos. http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/grafos.htm
8. Grafos. Algoritmos y Estructuras de datos III.
http://www.dc.uba.ar/materias/aed3/2014/1c/teorica/algo3_grafos.pdf

Más contenido relacionado

La actualidad más candente

Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Presentacion matrices y determinantes
Presentacion matrices y determinantesPresentacion matrices y determinantes
Presentacion matrices y determinantesAndrio Mendoza
 
Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosAngela Janeth Jimenez
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y GrafosNoel E Jimenez
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuacionesujgh
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: ListaEmerson Garay
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una colajeffersoncenteno
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - SerializaciónCarlos Hernando
 
condiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newtoncondiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newtonCarlos Saldaña
 

La actualidad más candente (20)

Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Heap sort
Heap sortHeap sort
Heap sort
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Listas
ListasListas
Listas
 
Grafos Y Digrafos
Grafos Y DigrafosGrafos Y Digrafos
Grafos Y Digrafos
 
Presentacion matrices y determinantes
Presentacion matrices y determinantesPresentacion matrices y determinantes
Presentacion matrices y determinantes
 
Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de Grafos
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
Teoria de grafos
Teoria de grafosTeoria de grafos
Teoria de grafos
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuaciones
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
 
Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Presentacion pilas lista y colas
Presentacion pilas lista y colas  Presentacion pilas lista y colas
Presentacion pilas lista y colas
 
Producto interno
Producto internoProducto interno
Producto interno
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una cola
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
condiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newtoncondiciones de equilibrio primera ley de newton
condiciones de equilibrio primera ley de newton
 

Destacado (12)

Social network-analysis-in-python
Social network-analysis-in-pythonSocial network-analysis-in-python
Social network-analysis-in-python
 
QR Algorithm Presentation
QR Algorithm PresentationQR Algorithm Presentation
QR Algorithm Presentation
 
PageRank Algorithm In data mining
PageRank Algorithm In data miningPageRank Algorithm In data mining
PageRank Algorithm In data mining
 
Relacion de equivalencia
Relacion de equivalenciaRelacion de equivalencia
Relacion de equivalencia
 
Recurso unidad 3
Recurso unidad 3Recurso unidad 3
Recurso unidad 3
 
Grafos y Digrafos
Grafos y DigrafosGrafos y Digrafos
Grafos y Digrafos
 
Tema grafos
Tema grafosTema grafos
Tema grafos
 
Grafos y digrafos
Grafos y digrafosGrafos y digrafos
Grafos y digrafos
 
Estructura grafos y digrafos
Estructura grafos y digrafosEstructura grafos y digrafos
Estructura grafos y digrafos
 
Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.
 
Relaciones binarias
Relaciones binariasRelaciones binarias
Relaciones binarias
 
Grafo regular
Grafo regularGrafo regular
Grafo regular
 

Similar a Representación de relaciones y grafos mediante listas enlazadas y matrices

Similar a Representación de relaciones y grafos mediante listas enlazadas y matrices (20)

Grafos
GrafosGrafos
Grafos
 
Relaciones y Grafos
Relaciones y GrafosRelaciones y Grafos
Relaciones y Grafos
 
MATEMATICA_DISCRETA_UNIDAD.pptx
MATEMATICA_DISCRETA_UNIDAD.pptxMATEMATICA_DISCRETA_UNIDAD.pptx
MATEMATICA_DISCRETA_UNIDAD.pptx
 
TRABAJO DE GRAFOS
TRABAJO DE GRAFOSTRABAJO DE GRAFOS
TRABAJO DE GRAFOS
 
Representaciones y grafos
Representaciones y grafosRepresentaciones y grafos
Representaciones y grafos
 
Representaciones y Grafos
Representaciones y GrafosRepresentaciones y Grafos
Representaciones y Grafos
 
Relaciones y grafos
Relaciones y grafosRelaciones y grafos
Relaciones y grafos
 
Presentacion matrices val 1
Presentacion matrices val 1Presentacion matrices val 1
Presentacion matrices val 1
 
Matematica discreta y algebra lineal
Matematica discreta y algebra linealMatematica discreta y algebra lineal
Matematica discreta y algebra lineal
 
Grafo
GrafoGrafo
Grafo
 
Correlacion y regresion listo
Correlacion y regresion listoCorrelacion y regresion listo
Correlacion y regresion listo
 
Determinantes
DeterminantesDeterminantes
Determinantes
 
Recurso unidad 3
Recurso unidad 3Recurso unidad 3
Recurso unidad 3
 
Curso cero de matemáticas autor Mónica Cortés Molina, Fernando García Alonso,...
Curso cero de matemáticas autor Mónica Cortés Molina, Fernando García Alonso,...Curso cero de matemáticas autor Mónica Cortés Molina, Fernando García Alonso,...
Curso cero de matemáticas autor Mónica Cortés Molina, Fernando García Alonso,...
 
4.Grafos.pdf
4.Grafos.pdf4.Grafos.pdf
4.Grafos.pdf
 
Concepto De Matriz, Tabla de verdad y logica matematicas
Concepto De Matriz, Tabla de verdad y logica matematicasConcepto De Matriz, Tabla de verdad y logica matematicas
Concepto De Matriz, Tabla de verdad y logica matematicas
 
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
 
Relaciones y Grafos
Relaciones y GrafosRelaciones y Grafos
Relaciones y Grafos
 
matrices y determinantes
matrices y determinantesmatrices y determinantes
matrices y determinantes
 
Conceptos De Matriz
Conceptos De MatrizConceptos De Matriz
Conceptos De Matriz
 

Último

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (15)

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Representación de relaciones y grafos mediante listas enlazadas y matrices

  • 1. Juan Camilo González I. David Felipe Hernández Jhoan Sebastián Gómez Matemáticas Discretas Profesor: Adrián Alonso Arboleda
  • 2. El método más directo para almacenar elementos de datos es colocarlos en una lista o arreglo lineal. Esto equivale a poner elementos de datos consecutivos en lugares de almacenamiento con numeración consecutiva en la memoria de una computadora. Un método alternativo es la lista enlazada. El almacenamiento de la unidad básica de información es la celda de almacenamiento, tales celdas tienen espacio para dos elementos, los datos y los apuntadores (punteros) que señalan la localización de la siguiente celda por considerar. Arreglo lineal A con datos 𝐷𝑖 en las localidades A[i] Lista enlazada, en la práctica se utiliza un arreglo de datos A y un arreglo de apuntadores P
  • 3. De forma similar a los métodos presentados antes para datos simples, las relaciones y dígrafos se pueden representar los siguientes métodos: Matriz de Relación (Representación Secuencial) Una relación R representarse por una matriz 𝑀 𝑅, entonces R se puede representar en una computadora por medio de un arreglo bidimensional que tenga ceros y unos almacenados en cada posición. Ejemplo: Si A = {1,2} y R = {(1,1), (1,2), (2,2)} entonces estos datos pueden representarse en el arreglo bidimensional MAT, en el cual MAT[1,1]=1, MAT[1,2]=1. MAT[2,1]=0, MAT[2,2] = 1 Lista Enlazada (Representación Enlazada) Una relación y su dígrafo pueden representarse mediante una lista enlazada, para ello se utilizan dos arreglos TAIL y HEAD que representan los pares ordenados que determinan los lados del dígrafo, un arreglo NEXT de apuntadores al lado siguiente, y una variable adicional START que indica el primer elemento de datos.
  • 4. Ejemplo Considérese la relación cuyo dígrafo se muestra abajo, se puede almacenar el dígrafo en forma de lista enlazada usando el siguiente esquema: Un algoritmo en el que se puede localizar un vértice e investigar los lados que comienzan o terminan en éste vértice utiliza además un arreglo VERT en el cual para cada vértice I, VERT[I] es un apuntador hacia el primer lado de I, y NEXT enlaza los lados de I, e inicia en VERT[I].
  • 5. Representación de grafos como estructura de datos Estructura de Datos: En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema. Grafo: Un grafo en el ámbito de las ciencias de la computación es una estructura de datos, en concreto un tipo abstracto de datos (TAD), que consiste en un conjunto de nodos (también llamados vértices) y un conjunto de arcos (aristas) que establecen relaciones entre los nodos. Grafo Dirigido (Digrafo): Es un par ordenado 𝐷 = 𝑉, 𝐸 donde V es un conjunto de vértices o nodos, 𝑉 ≠ 0 , y 𝐸 ⊆ 𝑎, 𝑏 ∈ 𝑉 × 𝑉: 𝑎 ≠ 𝑏 es un conjunto de pares ordenados de elementos de V denominados aristas o arcos, donde por definición un arco va del primero nodo (a) al segundo nodo (b) dentro del par. Dada una arista (a, b), a es su nodo inicial y b es su nodo final. Orden, grado y bucle: Se llama orden del grafo G a su número de vértices 𝑉 , el grado de un vértice o nodo 𝑣 ∈ 𝑉 es igual al número de arcos que lo tienen como extremo. Un bucle es una arista que relaciona al mismo nodo, es decir, una arista donde el nodo inicial y el nodo final coinciden.
  • 6. Vértices Adyacentes: Son aquellos vértices unidos por alguna arista. Aristas Paralelas: Son aquellas comprendidas entre los mismos vértices. Aristas Adyacentes: Las que tienen un único vértice en común siendo distintas y no paralelas. Aristas Incidentes en un Vértice: Las que tienen a dicho vértice por extremo. Representación por Estructura de Lista Lista de incidencia: El grafo está representado por un arreglo de aristas identificadas por un par ordenado de vértices que son los que conecta esa arista. Lista de adyacencia: El grafo está representado por un arreglo de vértices, cada vértice tiene una lista de vértices los cuales son adyacentes a él. Lista de grados: También llamada secuencia de grados o sucesión gráfica de un grafo no dirigido, es una secuencia de números que corresponden a los grados de los vértices del grafo. Representación por Estructuras Matriciales Matriz de adyacencia: El grafo está representado por una matriz cuadrada M de dimensión n*n en donde n es el número de vértices. Si hay una arista que vaya del vértice i al vértice j, entonces el elemento 𝑀 𝑖,𝑗 = 1, de lo contrario 𝑀 𝑖,𝑗 = 0.
  • 7. Grafo G(V,A) Conjuntos Matriz de adyacencia Matriz de incidencia Secuencia de grados Lista de Adyacencia V = { 1, 2, 3, 4, 5, 6 } A = { {1,1}, {1,2}, {1,5}, {2,3}, {2,5}, {3,4}, {4,5}, {4,6} } (4,3,3,3,2,1) { {1,2,5}, {3,5}, {4}, {5,6} } Matriz de incidencia: El grafo está representado por una matriz de V (vértices) por A (aristas), donde [vértice, arista] contiene la información de la arista (1 - conectado, 0 - no conectado). Ejemplos:
  • 8. Hay varios factores que determinan la elección del método usado para el almacenamiento: el número total de elementos n que hay en el conjunto A de la relación, el número de pares ordenados que hay en R o la razón de ese número a 𝑛2 , y la información posible que ha de obtenerse de R. Análisis de la Representación Secuencial Sea A = {1, 2, …, N} y sea R una relación en A que contiene P pares ordenados y cuya matriz 𝑀 𝑅 está representada por el arreglo MAT. Se debe considerar los problemas de agregar un par (I,J) a R y probar si R es transitiva. ► Para agregar (I,J) a R se realiza ► Para probar si R es transitiva se considera el siguiente algoritmo: El número total de pasos que requiere el algoritmo TRANS es: 𝑇𝐴 = 𝑃𝑁 + (𝑁2 − 𝑃) Supóngase que 𝑃 = 𝑘𝑁2, en donde 0 ≤ 𝑘 ≤ 1, puesto que P debe estat entre 0 y 𝑁2 .entonces el algoritmo tiene 𝑇𝐴 con: 𝑇𝐴 = 𝑘𝑁3 + (1 − 𝑘)𝑁2
  • 9. Análisis de la Representación Enlazada Considérese el mismo digrafo representado por el esquema de lista enlazada utilizando VERT, TAIL, HEAD y NEXT. El algoritmo ADDEDGE agrega un lado (I,J) a la relación R suponiendo que TAIL, HEAD y NEXT tienen posiciones adicionales disponibles y que el número total se lados se cuenta por una variable P. Además supóngase que se dispone de una función booleana EDGE(I,J) que tiene valor true si (I,J) está en R o de lo contrario el valor false, el algoritmo NEWTRANS hace la prueba de transitividad de R. Cada uno de los P lados comienza en un vértice único, así que, en promedio 𝑃 𝑁 = 𝐷 lados comienzan en el vértice. El algoritmo completo promediará alrededor de 𝑁𝐷3 pasos de ejecución. Se supone que 𝑃 = 𝑘𝑁2 con 0 ≤ 𝑘 ≤ 1 , entonces NEWTRANS hace un promedio de 𝑇𝐿 = 𝑁 𝑘𝑁2 𝑁 3 = 𝑘3 𝑁4 pasos.
  • 10. 1. Kolman, Bernard; Busby, Robert; Ross Sharon. Estructuras de matemáticas discretas para la computación. Editorial Pearson Educación. 2. Jiménez Murillo, José Alfredo. Matemáticas para la computación. Editorial Alfaomega. 3. Lipschutz, Seymour. Estructura de Datos. Serie Schaum en Computación. McGraw-Hill. 4. Quintero Cabrera, Pablo Emilio. Representación de grafos en la memoria de la computadora. http://prezi.com/cx7ldjuk0ryl/representacion-de-grafos-en-la- memoria-de-la-computadora 5. Buitrago, Andrés Felipe; Romero, Sebastián; Largo, Mateo. Representación en computadora de relaciones y digrafos. http://prezi.com/lrwn9zr9uhw4/copy- of-representacion-en-computacion-de-relaciones-y-digrafos 6. González Gutiérrez, Francisco José. Apuntes de Matemática Discreta. http://www2.uca.es/matematicas/Docencia/ESI/1711003/Apuntes/Leccion14. pdf 7. Exposito Lopez, Daniel; García Soto Abraham; Martin Gomez, António Jose. Grafos. http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/grafos.htm 8. Grafos. Algoritmos y Estructuras de datos III. http://www.dc.uba.ar/materias/aed3/2014/1c/teorica/algo3_grafos.pdf