El TAD Grafo. Objetivos. Contenidos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "El TAD Grafo. Objetivos. Contenidos"

Transcripción

1 Objetivos q Estudiar la especificación del TAD Grafo q Presentar diferentes alternativas de implementación q Conocer los algoritmos más importantes de manipulación de grafos Contenidos 4.1 Conceptos 4.2 Especificación algebraica 4.3 Implementación 4.4 Recorridos sobre grafos Recorrido en anchura Recorrido en profundidad 4.5 Caminos mínimos sobre grafos Algoritmo de Dijkstra Algoritmo de Floyd 4.6 Árbol de extensión de coste mínimo Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 1

2 Duración q 6 clases (9 h) Bibliografía q Estructuras de datos: especificación, diseño e implementación Autor: Xavier Franch Gutiérrez Editorial : Ediciones UPC, 1999 Págs q Estructuras de datos. Algoritmos, abstracción y objetos Autores: Luis Joyanes Aguilar, Ignacio Zahonero Martínez Editorial: McGraw-Hill Págs q Estructuras de datos y métodos algorítmicos Autores: Narciso Martí Oliet, Yolanda Ortega Mallén y José Alberto Verdejo López Editorial: Prentice Halll Págs Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 2

3 4.1 Conceptos q Un grafo es una estructura capaz de representar relaciones complejas entre objetos de un mismo tipo. Formalmente se representa mediante el par G = (V, A), donde: q V es un conjunto de objetos llamados vértices o nodos q A es un conjunto de objetos denominados aristas o arcos q Las aristas representan relaciones entre los vértices, de forma que una arista es un par (u, v) de vértices de V q Básicamente, podemos clasificar los grafos en 4 tipos dependiendo de dos criterios: q Grafo dirigido. Es aquel cuyas aristas forman pares ordenados (u à v). q Grafo no dirigido. Es aquel cuyas aristas no son pares ordenados q Grafo etiquetado o valorado. Cuando se asocia información a cada arista de un grafo q Grafo no etiquetado. Cuando no se asocia ninguna información a las aristas q La teoría de grafos se aplica a campos tan diversos como química, geografía, ingeniería eléctrica, comunicaciones, etc. Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 3

4 q Un ejemplo de grafo podría ser la red de metro de Madrid, donde los vértices representan las estaciones y las aristas la línea que une dos estaciones: Sol Gran V ía Tribunal Tirso de Molina Plaza de España Opera 125 Callao q Otro ejemplo de aplicación de los grafos es la construcción de modelos donde se estudian las relaciones de precedencia que existen entre las tareas que se necesitan para completar un trabajo Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 4

5 q Algunas definiciones sobre grafos: Un camino en un grafo G = (V, A) es una secuencia de vértices v 1,..., v n Î V, con n ³ 1, tal que (v i, v i+1 ) Î A, para i = 1,..., n-1 La longitud de un camino es su número de vértices menos 1 Un camino es simple si todos sus vértices, excepto tal vez el primero y el último, son distintos Un ciclo es un camino simple de longitud no nula que empieza y termina en el mismo vértice En un grafo no dirigido, el grado de un vértice v es el número de aristas que contiene a v Se dice que el vértice y es sucesor o adyacente del vértice x si existe una arista que tenga por origen a x y por destino a y, es decir, si la arista (x, y) Î A Se dice que el vértice x es antecesor del vértice y si existe una arista que tenga por origen a x y por destino a y, es decir, si la arista (x, y) Î A Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 5

6 En un grafo dirigido se distingue entre el grado de entrada y el grado de salida: el grado de entrada de un vértice v es el número de aristas que llegan a v (antecesores), y el grado de salida de un vértice v es el número de aristas que salen de v (sucesores). Ejemplo 1: Grafo no dirigido v2 v1 v3 v4 Número de nodos: Número de aristas: V = { } A = { } Camino = Ciclo = Grado (v3) = Adyacentes (v3) = { } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 6

7 Ejemplo 2: Grafo Dirigido v2 v1 v3 Número de nodos: Número de aristas: V = { } A = { } Camino = Ciclo = GradoEnt (v2) = GradoSal(v2)= Adyacentes (v3) = { } Antecesores (v3) = Antecesores (v2) = { } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 7

8 Un grafo no dirigido G es conexo si existe un camino entre cualquier par de nodos que forman el grafo. v2 v3 v4 v2 v4 v3 v1 v5 v1 v5 Grafo No conexo Grafo conexo v2 v3 v1 v4 Un grafo dirigido es fuertemente conexo si existe un camino entre cualquier par de nodos que forman el grafo v5 Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 8

9 4.2 Especificación Algebraica q Puesto que el grafo es un conjunto de vértices y aristas, la signatura del TAD grafo deberá contener, al menos, las operaciones de añadir vértices y aristas a un grafo q El resto de las operaciones dependerá de la aplicación que se vaya a dar al TAD q Definiremos un TAD para los grafos dirigidos, con las operaciones básicas para su construcción, así como las operaciones de cálculo de vértices adyacentes a uno dado y las de pertenencia de arista y de vértice. Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 9

10 espec grafosdirigidos usa booleanos, conjunto parámetro formal género vértice operaciones _ == _: vértice vértice à booleano _ ¹ _: vértice vértice à booleano fpf renombrar conjunto<vértice> por conjvértices conjunto<(vértice, vértice)> por conjaristas género grafo operaciones gvacío: à grafo +vértice: grafo vértice à grafo parcial +arista: grafo vértice vértice à grafo _ Î _ : vértice grafo à booleano ( _, _ ) Î _ : vértice vértice grafo à booleano esvacío: grafo à booleano adyacentes: grafo vértice à conjvértices -vértice: grafo vértice à grafo -arista: grafo vértice vértice à grafo vértices: grafo à conjvértice aristas: grafo à conjaristas Gen (grafo) = { gvacio, +vértice, +arista } Mod (grafo) = {-vértice, -arista} Obs (grafo) = { _ Î _, ( _, _ ) Î _, adyacentes, esvacío, vértices, aristas} Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 10

11 dominios de definición g: grafo; v1,v2: vértice +arista (g,v1,v2) está definido sólo si v1îg Ù v2îg ecuaciones g: grafo; v,v1,v2,v3,v4: vértice +vértice (+vértice (g, v1), v2) = +arista (+arista (g, v1, v2), v3, v4) = +arista (+vértice (g, v1), v2, v3) = v Î gvacío = v1 Î +vértice (g, v2) = v1 Î +arista (g, v2, v3) = Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 11

12 (v1, v2) Î gvacío = (v1, v2) Î +vértice (g, v3) = (v1, v2) Î +arista (g, v3, v4) = esvacío (gvacío) = esvacío (+vértice (g, v)) = esvacío (+arista (g, v1, v2)) = adyacentes (gvacío, v) = adyacentes (+vértice (g, v1), v2) = adyacentes (+arista (g, v1, v2), v3) = Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 12

13 -vértice (gvacío, v) = -vértice (+vértice (g, v1), v2) = -vértice (+arista (g, v1, v2), v3) = -arista (gvacío, v1, v2) = -arista (+vértice (g, v1), v2, v3) = -arista (+arista (g, v1, v2), v3, v4) = Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 13

14 vértices (gvacío) = vértices (+vértice (g, v)) = vértices (+arista (g, v1, v2)) = aristas (gvacío) = aristas (+vértice (g, v)) = aristas (+arista (g, v1, v2)) = Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 14

15 4.3 Implementación q Un Vértice es un objeto con un atributo de tipo genérico template <typename T> class Vertice { public: Vertice(const T& objeto); const T& getobj() const; void setobj(const T& objeto); private: T obj; }; Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 15

16 q Una Arista es un objeto con tres atributos: dos vértices y opcionalmente una etiqueta template <typename T, typename U> class Arista { public: Arista(const Vertice<T>& vo, const Vertice<T>& vd, const U& etiq); const Vertice<T>& getorigen() const; const Vertice<T>& getdestino() const; const T& getetiqueta() const; void setorigen(const Vertice<T>& orig); void setdestino(const Vertice<T>& dest); void setetiqueta(const U& etiq); private: Vertice<T> origen; Vertice<T> destino; U etiqueta; }; Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 16

17 q Interfaz informal de la clase Grafo: template <typename T, typename U> class Grafo{ public: Grafo(); bool esvacio() const; bool estavertice(const Vertice<T>& v) const; bool estaarista(const Arista<T, U>& a) const; const Conjunto<Vertice<T> >& vertices() const; const Conjunto<Arista<T, U> >& aristas() const; const Conjunto<Vertice<T> >& adyacentes(const Vertice<T>& v) const; const Conjunto<Vertice<T> >& antecesores(const Vertice<T>& v) const; void insertarvertice(const Vertice<T>& v); void insertararista(const Arista<T, U>& a); void eliminarvertice(const Vertice<T>& v); void eliminararista(const Arista<T, U>& a); } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 17

18 q Existen básicamente 3 formas de implementar los grafos: una estática y dos dinámicas. La elección de cada una de ellas dependerá de las operaciones que se vayan a aplicar sobre los vértices y las aristas Matriz de Adyacencia Sea G = (V, A) un grafo de n nodos, donde suponemos que los nodos V = {v 1, v 2,..., v n } están ordenados y podemos representarlos por sus ordinales {1, 2,..., n} La matriz de adyacencia para el grafo G es una matriz A de dimensión n x n de elementos booleanos en la que: A[i, j] = verdad, si y sólo si existe una arista en G que va del vértice i al vértice j A[i, j] = falso, en caso contrario En un grafo no dirigido, la matriz de adyacencia es simétrica y los elementos de su diagonal son todos falsos Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 18

19 El tipo necesario para representar un grafo mediante matriz de adyacencia es: template <typename T, typename U> class Grafo{ public: // métodos de la interfaz informal private: enum { N = }; } bool m[n][n]; int nv; Esta representación es útil para aquellos problemas donde se necesite saber si existe una arista entre dos vértices dados, ya que es de orden constante O(1). El principal inconveniente es que se necesita un espacio de O(n 2 ) aunque el grafo tenga muy pocas aristas. V = {E, F, J, M, T} J F T M E M = E F J M T E F J M T F V V V F F F F F F F F F V F F F V F F V V F F F Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 19

20 J M E F J M T T M = E F J M T F E Huelva 2 3 Sevilla 5 M = CA CO HU SE Para un grafo con aristas etiquetadas, la matriz se declararía de la forma: U* m[n][n]; 4 Cádiz 2 2 Córdoba Donde U es el parámetro de tipo para la etiqueta de las aristas Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 20

21 q Algoritmo del método adyacentes para un grafo no etiquetado: Conjunto<int> adyacentes(int v) const var Conjunto<int> c; fvar; inicio para i = 1 hasta nv hacer si m[v][i] entonces c.poner(i) fsi fpara; devolver c fin; Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 21

22 4.3.2 Listas de Adyacencia Esta representación consiste en n listas, de forma que la lista i-ésima contiene los vértices adyacentes al vértice i Una posible representación podría ser: template <typename T, typename U> class Grafo{ public: // métodos de la interfaz informal private: Lista<Vertice<T> > *G; int nv; } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 22

23 G G Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 23

24 q Algoritmo del método adyacentes: Conjunto<int> adyacentes(int v) const var Conjunto<int> c; Lista<int>::Iterador it; fvar; inicio it = G[v].principio(); mientras it ¹ G[v].final() hacer c.poner(it.observar(g[v])); it.avanzar(g[v]) fpara; devolver c fin; Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 24

25 q Esta representación resulta útil cuando el número de vértices se conoce previamente y permanece fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices en tiempo de ejecución q Por tanto, para un caso más general, podemos utilizar, en lugar de una tabla, una lista enlazada para almacenar la información de los vértices template <typename T, typename U> class Grafo{ public: // métodos de la interfaz informal private: Lista<Adyacencia<T> > G; } template <typename T> class Adyacencia{ public: // métodos tipo get/set private: Vertice<T> v; Lista<Vertice<T> > adyacentes; } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 25

26 Huelva Sevilla G Cádiz Córdoba Huelva Sevilla Sevilla Huelva Cádiz Córdoba Cádiz Huelva Córdoba Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 26

27 q Para un grafo con aristas etiquetadas, cada objeto almacenado en la lista adyacentes debe contener no sólo el vértice sino también la información asociada a la arista template <typename T, typename U> class Grafo{ public: // métodos de la interfaz informal private: Lista<Adyacencia<T, U> > G; } template <typename T, typename U> class Adyacencia{ public: // métodos tipo get/set private: Vertice<T> v; Lista<VerticeAdy<T, U> > adyacentes; } template <typename T, typename U> class VerticeAdy: public Vertice<T>{ public: // métodos getetiqueta/setetiqueta private: U etiqueta; } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 27

28 60 Grafo Etiquetado con Pesos Huelva 70 Sevilla Cádiz 75 Córdoba G Huelva Sevilla 60 Representación mediante Listas de Adyacencia Sevilla Cádiz Huelva 70 Cádiz 75 Córdoba 80 Huelva 150 Córdoba Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 28

29 4.3.3 Listas múltiples de adyacencia q Se utilizan para grafos dirigidos, si lo que queremos saber es, de forma eficiente, los antecesores de un determinado nodo q Se utiliza otra tabla de listas cuya lista i-ésima contiene los vértices antecesores al vértice i. Dicha lista se conoce con el nombre de lista de antecesores q Una lista múltiple de adyacencia es una estructura de datos que une ambas tablas en una única estructura q Hay un nodo por cada arista del grafo q Cada nodo guarda la información de dos vértices (origen y destino de la arista) y dos punteros el primero apunta al nodo que almacena la siguiente arista que tiene el mismo vértice destino el segundo apunta al nodo que almacena la siguiente arista que tiene el mismo vértice origen Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 29

30 template <typename T, typename U> class GrafoDirigido{ public: typedef NodoGM<T, U>* PtrNodoGM; // métodos de la interfaz informal private: PtrNodoGM *adyacentes; PtrNodoGM *antecesores; } template <typename T, typename U> class nodogm{ public: typedef NodoGM<T, U>* PtrNodoGM; // métodos tipo get/set private: Vertice<T> origen, destino; // Para grafos etiquetados: // U etiqueta; PtrNodoGM sigady, sigant; } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 30

31 1 3 origen destino 2 mismo origen (sigady) 4 5 DESTINO mismo destino (sigant) listas de listas de adyacencia antecesores inversa ORIGEN listas de adyacencia Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 31

32 q Algoritmo del método adyacentes: Conjunto<int> adyacentes(int v) const var Conjunto<int> c; PtrNodoGM p; fvar; inicio p = adyacentes[v]; mientras p ¹ NULO hacer c.poner(p->getdestino()); p = p->getsigady(); fpara; devolver c fin; Por ejemplo, en el grafo anterior: Adyacentes (2) = { } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 32

33 Eficiencia de las operaciones Operación Matriz Lista Simple (1) Lista Múltiple n: número de vértices m: número de aristas Grafo esvacio ge: grado máximo de entrada estavertice gs: grado máximo de salida estaarista vertices aristas adyacentes antecesores insertarvertice insertararista eliminarvertice (1) Se refiere a la versión en la que se usa una tabla para almacenar la información de los vértices eliminararista Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 33

El TAD Grafo. El TAD Grafo

El TAD Grafo. El TAD Grafo Objetivos! Estudiar la especificación del TAD Grafo! Presentar diferentes alternativas de implementación! Conocer los algoritmos más importantes de manipulación de grafos Contenidos.1 Conceptos. Especificación

Más detalles

El TAD Grafo. El TAD Grafo

El TAD Grafo. El TAD Grafo ! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices

Más detalles

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos. Grafos Los grafos son estructuras que constan de vértices o nodos y de aristas o arcos que conectan los vértices entre sí. Un grafo G consiste en dos cosas: 1. Un conjunto V de elementos llamados nodos

Más detalles

Grafos. Amalia Duch Brown Octubre de 2007

Grafos. Amalia Duch Brown Octubre de 2007 Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido

Más detalles

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre elementos de un conjunto. Típicamente, un grafo se representa

Más detalles

TAD Lineales: Pila, Cola y Lista

TAD Lineales: Pila, Cola y Lista TAD Lineales: Pila, Cola y Lista Objetivos! Dar a conocer los TAD lineales pila, cola y lista! Presentar la especificación de cada uno de los TAD! Discutir implementaciones alternativas para cada uno de

Más detalles

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

Más detalles

Teoría de grafos y optimización en redes

Teoría de grafos y optimización en redes Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,

Más detalles

Grafos. Algoritmos y Estructuras de Datos III

Grafos. Algoritmos y Estructuras de Datos III Grafos Algoritmos y Estructuras de Datos III Grafos Un grafo G = (V, X ) es un par de conjuntos, donde V es un conjunto de puntos o nodos o vértices y X es un subconjunto del conjunto de pares no ordenados

Más detalles

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Lógica y Estructuras Discretas Tutor: Antonio Rivero Cuesta Tema 5 Teoría de Grafos Conceptos Básicos Un grafo consta de: Grafo Un conjunto de nodos, Un conjunto de aristas

Más detalles

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

Un grafo G = (V, E) se dice finito si V es un conjunto finito. 1 Grafos: Primeras definiciones Definición 1.1 Un grafo G se define como un par (V, E), donde V es un conjunto cuyos elementos son denominados vértices o nodos y E es un subconjunto de pares no ordenados

Más detalles

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30 Grafos AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Grafos / 0 Objetivos Al finalizar este tema tendréis que: Conocer la terminología básica de la teoría de grafos. Pasar

Más detalles

MATEMÁTICAS PARA LA COMPUTACIÓN

MATEMÁTICAS PARA LA COMPUTACIÓN MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO RELACIONES RELACIONES COMO LISTAS ENLAZADAS AUTOR: JOSÉ ALFREDO JIMÉNEZ MURILLO AVC APOYO VIRTUAL PARA EL CONOCIMIENTO RELACIONES COMO LISTAS ENLAZADAS Algunas

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

TEORÍA DE GRAFOS Ingeniería de Sistemas

TEORÍA DE GRAFOS Ingeniería de Sistemas TEORÍA DE GRAFOS Ingeniería de Sistemas Código: MAT-31114 AUTORES Ing. Daniel Zambrano Ing. Viviana Semprún UNIDADES DE LA ASIGNATURA» UNIDAD I. Relaciones» UNIDAD II. Estructuras Algebraicas» UNIDAD III.

Más detalles

Unidad Nº V Listas Enlazadas

Unidad Nº V Listas Enlazadas Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta

Más detalles

Francis Guthrie Planteo el problema de los cuatro colores, después de colorear el mapa de Inglaterra 9/15/2015 3

Francis Guthrie Planteo el problema de los cuatro colores, después de colorear el mapa de Inglaterra 9/15/2015 3 INTRODUCCION GRAFOS La Teoria de Grafos nace del análisis sobre una inquietud presentada en la isla Kueiphof en Koenigsberg (Pomerania) ya que el río que la rodea se divide en dos brazos. Sobre los brazos

Más detalles

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices. ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo

Más detalles

Tema: Los Grafos y su importancia para la optimización de redes.

Tema: Los Grafos y su importancia para la optimización de redes. Tema: Los Grafos y su importancia para la optimización de redes. Qué son los Grafos? Un grafo es una dupla G= {X,U}, donde X es un conjunto finito y no vacio de elementos llamados vértices y U es el conjunto

Más detalles

Tema 5. Estructura de datos Pila

Tema 5. Estructura de datos Pila Tema 5. Estructura de datos Pila http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la

Más detalles

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista. Grafos y Redes. Nodos: vértices, 2, 3 2. Arcos: aristas, conexión entre nodos. 2, 54, etc. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista. 4. Grado

Más detalles

6. Diagramas de flujo.

6. Diagramas de flujo. Ingeniería de Control I Tema 6 Diagramas de flujo 1 6. Diagramas de flujo. Representación en DF Simplificaciones Fórmula de Mason Formas de Kalman Sistemas MIMO Diagramas de Flujo 2 1 Bibliografía Señales

Más detalles

UNIVERSIDAD DE GUADALAJARA

UNIVERSIDAD DE GUADALAJARA UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS TALLER DE ESTRUCTURA

Más detalles

PRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales

PRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales PRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales 0. OBJETIVOS El objetivo de esta práctica es la implementación del

Más detalles

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) 1 DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problema de Encontrar la Ruta más Corta 2 Se requiere llegar de

Más detalles

Conceptos de Algoritmos, Datos y Programas

Conceptos de Algoritmos, Datos y Programas Conceptos de Algoritmos, Datos y Programas Año 2015 Carreras: Lic. en Informática P2015 Lic. en Sistemas P2015 APU P2015 Año: 1 Duración: Cuatrimestral Coordinador: Ing. Armando De Giusti Profesores: Esp.

Más detalles

Secretaría de Docencia Dirección de Estudios Profesionales

Secretaría de Docencia Dirección de Estudios Profesionales PROGRAMA DE ESTUDIO POR COMPETENCIAS ESTRUCTURAS DE DATOS I. IDENTIFICACIÓN DEL CURSO ESPACIO EDUCATIVO: Facultad de Ingeniería LICENCIATURA: Ingeniería en Computación ÁREA DE DOCENCIA: Programación e

Más detalles

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

Introducción a la Teoría de Grafos

Introducción a la Teoría de Grafos Introducción a la Teoría de Grafos Flavia Bonomo fbonomo@dc.uba.ar do. Cuatrimestre 009 Programa Introducción a la teoría de grafos Problemas de camino mínimo Problemas de flujo máximo Programación lineal

Más detalles

ESCUELA SUPERIOR POLITECNICA DEL LITORAL PROGRAMA DE ESTUDIOS

ESCUELA SUPERIOR POLITECNICA DEL LITORAL PROGRAMA DE ESTUDIOS ESTRUCTURAS DE DATOS UNIDAD ACADÉMICA: CARRERA: ESPECIALIZACIÓN: ÁREA: TIPO DE MATERIA: EJE DE FORMACIÓN: Facultad de Ingeniería en Electricidad y Computación Ingeniería en Ciencias Computacionales Sistemas

Más detalles

ASIGNATURA: ESTRUCTURA DE DATOS II

ASIGNATURA: ESTRUCTURA DE DATOS II ASIGNATURA: ESTRUCTURA DE DATOS II Cód: 31-206 Régimen cuatrimestral Horas reloj semanales: 4 Horas teóricas: 15 Horas prácticas: 45 Horas totales: 60 Carrera: Sistemas 2016 FUNDAMENTOS: Un tipo de dato

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

Algoritmos sobre Grafos

Algoritmos sobre Grafos Sexta Sesión 27 de febrero de 2010 Contenido Deniciones 1 Deniciones 2 3 4 Deniciones sobre Grafos Par de una lista de nodos y una lista de enlaces, denidos a su vez como pares del conjunto de nodos.

Más detalles

Formulación del problema de la ruta más corta en programación lineal

Formulación del problema de la ruta más corta en programación lineal Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,

Más detalles

Capítulo 6. Relaciones. Continuar

Capítulo 6. Relaciones. Continuar Capítulo 6. Relaciones Continuar Introducción Una relación es una correspondencia entre dos elementos de dos conjuntos con ciertas propiedades. En computación las relaciones se utilizan en base de datos,

Más detalles

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES ALGEBRA DE MATRICES DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES DEFINICIONES 2 Las matrices y los determinantes son herramientas

Más detalles

Tabla de Símbolos. Programación II Margarita Álvarez

Tabla de Símbolos. Programación II Margarita Álvarez Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados

Más detalles

2007 Carmen Moreno Valencia

2007 Carmen Moreno Valencia Tema VIII. Grafos Grafos 1 2007 Carmen Moreno Valencia 1. Grafos, digrafos y multigrafos 2. Grafos eulerianos 3. Matrices de adyacencia e incidencia 4. Exploración de grafos pesados 1. Grafos, digrafos

Más detalles

Una Interfaz Grafo-Matriz

Una Interfaz Grafo-Matriz Una Interfaz Grafo-Matriz R. Carballo, C. Escribano, M.A. Asunción Sastre Dept. Matemática Aplicada F.Informática. U.P.M. Boadilla del Monte Madrid, 28660-Madrid e-mail: cescribano@fi.uib.es Resumen. El

Más detalles

Elementos Diagramas de Clases Clase:

Elementos Diagramas de Clases Clase: Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.

Más detalles

UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL MÉTODOS DIDÁCTICOS EVALUACIÓN

UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL MÉTODOS DIDÁCTICOS EVALUACIÓN UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS MATERIA: ESTRUCTURAS DE DATOS HRS. T/P: 2/3 CARRERA: LIC. EN TECNOLOGÌAS DE INFORMACIÓN CRÉDITOS:

Más detalles

Proyecto 2: recorridos sobre grafos y componentes conexas

Proyecto 2: recorridos sobre grafos y componentes conexas Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI-2693. Laboratorio de Algoritmos y Estructuras III Trimestre Abril-Julio 2015 1. Introducción Proyecto 2: recorridos

Más detalles

Apuntes elaborados por: Aaron Asencio, Eduardo Quevedo, Raquel López Revisado por: Javier Miranda el???

Apuntes elaborados por: Aaron Asencio, Eduardo Quevedo, Raquel López Revisado por: Javier Miranda el??? Apuntes elaborados por: Aaron Asencio, duardo Quevedo, Raquel López Revisado por: Javier Miranda el??? Tema 9: rafos Los grafos no son más que la versión general de un árbol, es decir, cualquier nodo de

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Algoritmos para determinar Caminos Mínimos en Grafos

Algoritmos para determinar Caminos Mínimos en Grafos Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas ertello@tamps.cinvestav.mx Cursos de inducción a la MCC Cinvestav Tamaulipas

Más detalles

Diseño arquitectónico 1ª edición (2002)

Diseño arquitectónico 1ª edición (2002) Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado

Más detalles

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es

Más detalles

UNIDAD 9. DATOS COMPLEJOS PILAS

UNIDAD 9. DATOS COMPLEJOS PILAS UNI 9. TOS OMPLEJOS PILS Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. omo consecuencia, los elementos de una pila serán eliminados

Más detalles

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04 Los Tipos Abstractos de Datos Estructuras de Datos y Algoritmos 03/04 Qué son los TAD s? Metodología de programación con TAD s Especificación Algebraica de TAD s Qué son los TAD s? Con los lenguajes de

Más detalles

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Matemática Discreta y Lógica 2 1. Árboles Árboles Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Como un lazo es un ciclo de longitud 1, un árbol

Más detalles

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica. Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete

Más detalles

Tema 2: Representación de problemas como espacios de estados

Tema 2: Representación de problemas como espacios de estados Tema 2: Representación de problemas como espacios de estados José Luis Ruiz Reina José Antonio Alonso Franciso J. Martín Mateos Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad

Más detalles

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...6

Más detalles

Introducción a la Geometría Computacional. Análisis de Algoritmos

Introducción a la Geometría Computacional. Análisis de Algoritmos Introducción a la Geometría Computacional Análisis de Algoritmos Geometría Computacional La Geometría Computacional surgió a finales de los 70s del área de diseño y análisis de algoritmos. Estudio sistemático

Más detalles

Pilas, Colas. Andrea Rueda. Estructuras de Datos. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas

Pilas, Colas. Andrea Rueda. Estructuras de Datos. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Pilas, Colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Quiz: STL Quiz: STL Standard Template Library (STL) std::vector - Arreglo dinámico,

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

Definición matemática de Relación y de Función

Definición matemática de Relación y de Función Fecha: 05/0 Versión: DOCENTE: ANTONIO ELI CASTILLA Definición matemática de Relación de Función En matemática, Relación es la correspondencia de un primer conjunto, llamado Dominio, con un segundo conjunto,

Más detalles

Flujos de redes (Network Flows NF)

Flujos de redes (Network Flows NF) Fluos de redes (Network Flows NF). Terminología. Árbol generador mínimo. Camino mínimo 4. Fluo máximo 5. Fluo de coste mínimo TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES Terminología Red o grafo (G) Nodos

Más detalles

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6]

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6] ALGEBRA DE BOOLE El álgebra booleana, como cualquier otro sistema matemático deductivo, puede definirse con un conjunto de elementos, un conjunto de operadores y un número de axiomas no probados o postulados.

Más detalles

ESTRUCTURAS DE DATOS

ESTRUCTURAS DE DATOS CURSO: ESTRUCTURAS DE DATOS 1 SEMESTRE: III 2 CODIGO: 602301 3 COMPONENTE: 4 CICLO: 5 AREA: Profesional 6 FECHA DE APROBACIÓN: 7 NARURALEZA: OBLIGATORIO 8 CARÁCTER: TEORICO - PRÁCTICO 9 CRÉDITOS (RELACIÓN):

Más detalles

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción.

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción. 2007/2008 Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS 1.-Introducción. -Comprender cómo funciona un lenguaje de programación 2. Características del lenguaje C -Entender las

Más detalles

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación TUTORIAL PSEINT Ing. Ronald Rentería Ayquipa Fundamentos de Programación PSEINT Página Oficial: http://pseint.sourceforge.net/ Es un software que interpreta pseudocódigo. Permite la generación de diagramas

Más detalles

En la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }

En la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} } Unidad 1 Parte 1 - Teoría de Grafos Introducción En este capítulo veremos la noción matemática de grafo y propiedades de los mismos. En capítulos subsiguientes veremos las estructuras de datos utilizadas

Más detalles

: Algorítmica y Estructura de Datos I

: Algorítmica y Estructura de Datos I FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria

Más detalles

Autómatas Deterministas. Ivan Olmos Pineda

Autómatas Deterministas. Ivan Olmos Pineda Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.

Más detalles

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres ESTRUCTURAS DE DATOS 2006 Prof. DEFINICIÓN Un grafo consta de un conjunto de nodos(o vértices) y un conjunto de arcos (o aristas). Cada arco de un grafo se especifica mediante un par de nodos. Denotemos

Más detalles

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR INTEGRANTES: Caricari Cala Aquilardo Villarroel Fernandez Fructuoso DOCENTE: Lic. Garcia

Más detalles

14. ÁRBOLES. 14.1 Fundamentos y terminología básica

14. ÁRBOLES. 14.1 Fundamentos y terminología básica Ricardo Ferrís / Jesús Albert Algoritmos y estructuras de datos I 14. ÁRBOLES 14.1 FUNDAMENTOS Y TERMINOLOGÍA BÁSICA... 79 14.2. ÁRBOLES BINARIOS... 81 14.3. FUNDAMENTOS... 82 14.3. OPERACIONES CON ÁRBOLES

Más detalles

TIPO DE DATO ABSTRACTO (TDA)

TIPO DE DATO ABSTRACTO (TDA) TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int

Más detalles

Tema 3. Análisis de costes

Tema 3. Análisis de costes Tema 3. Análisis de costes http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS ASIGNATURA : ELECTIVA I - PROGRAMACION CÓDIGO : 8104661 SEMESTRE : IV CRÉDITOS : 4 FECHA DE

Más detalles

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2 324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas

Más detalles

ANEXO XVII DE LA RESOLUCION N

ANEXO XVII DE LA RESOLUCION N Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:

Más detalles

PLAN DE MATERIAS ACADEMUSOFT 3.2

PLAN DE MATERIAS ACADEMUSOFT 3.2 FACULTAD DE: _Ingenierías y Tecnológicas PROGRAMA DE: Ingeniería de Sistemas NOMBRE DE LA MATERIA: Programación II Semestre: III Código: _IS006SA No de Créditos 4 H. Teórica: 4 H. Práctica 2 H. Teórica-Practica

Más detalles

Tema 14 Grafos y su Implementación en Java. Parte I. Objetivos. Bibliografía

Tema 14 Grafos y su Implementación en Java. Parte I. Objetivos. Bibliografía Tema Grafos y su Implementación en Java Tema Grafos y su Implementación en Java Parte I Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general:.

Más detalles

TEORIA DE GRAFOS. Estructuras Discretas Ing. Jenny Paredes Aguilar

TEORIA DE GRAFOS. Estructuras Discretas Ing. Jenny Paredes Aguilar TEORIA DE GRAFOS Estructuras Discretas Ing. Jenny Paredes Aguilar INTRODUCCION Teoria de grafos se usa en numerosos problemas cuantificables, en las organizaciones, intervienen una serie de elementos entre

Más detalles

Derechos de Acceso: COMPOSICION

Derechos de Acceso: COMPOSICION CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:

Más detalles

Binary Decision Diagrams

Binary Decision Diagrams Rodríguez Blanco 2006-05-18 Introduccion Equivalencia Tablas de verdad eficientes Construcción de Equivalencia Tablas de verdad eficientes Equivalencia de dos fórmulas A 1 y A 2. Construir su tabla de

Más detalles

ÁRBOLES GENERALES Y Y ESTRUCTURAS DE ÍNDICES DEFINICIONES Y REPRESENTACIONES DEFINICIONES Y REPRESENTACIONES. NOMENCLATURA SOBRE ÁRBOLES. DECLARACIÓN Y REPRESENTACIÓN.. CONSTRUCCIÓN.. ÁRBOLES 2-3-4. ÁRBOLES

Más detalles

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes 4. DIAGRAMAS DE INTERACCIÓN...37 4.1. INTRODUCCIÓN... 37 4.2. DIAGRAMAS DE SECUENCIA... 37 4.2.1. Objetos...37 4.2.2. Mensajes...38 4.2.3. Creación y destrucción de un objeto...39 4.3. DIAGRAMAS DE COLABORACIÓN...

Más detalles

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios:

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios: UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: INGENIERÍA DE SOFTWARE Y COMPUTACIÓN I DES: Programa(s) Educativo(s): Tipo de materia: Clave

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Modelos de Redes: Problemas de la Ruta más m s corta. M. En C. Eduardo Bustos Farías

Modelos de Redes: Problemas de la Ruta más m s corta. M. En C. Eduardo Bustos Farías Modelos de Redes: Problemas de la Ruta más m s corta M. En C. Eduardo Bustos Farías as Problemas de la Ruta más m s corta 2 Problemas de la Ruta más m s corta Se trata de encontrar la ruta de menor distancia,

Más detalles

UNIVERSIDAD DEL ISTMO PROGRAMA DE ESTUDIO

UNIVERSIDAD DEL ISTMO PROGRAMA DE ESTUDIO 1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3013 GRADO: ING. EN COMPUTACION, PRIMER SEMESTRE TIPO DE TEÒRICA ANTECEDENTE CURRICULAR: -----.- OBJETIVO GENERAL Otorgar al participante el conocimiento

Más detalles

FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA DE SISTEMAS. Horas Contacto. Objetivos

FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA DE SISTEMAS. Horas Contacto. Objetivos FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Nombre de la asignatura (Curso) Código de la asignatura (ID Curso) Pensamiento Algorítmico 4206 Fecha de Actualización 21 de Julio de 2011

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna

Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna Ingeniería en Computación Unidad de Aprendizaje: Estructura de Datos Unidad de Competencia II: Estructuras de Datos Lineales Marzo 2015 M. en C. Edith Cristina Herrera Luna ESTRUCTURAS DE DATOS Propósito

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Matrices. José Vicente Romero Bauset. ETSIT-curso 2009/2010. José Vicente Romero Bauset Tema 1.- Matrices. 1

Matrices. José Vicente Romero Bauset. ETSIT-curso 2009/2010. José Vicente Romero Bauset Tema 1.- Matrices. 1 Matrices José Vicente Romero Bauset ETSIT-curso 2009/2010 José Vicente Romero Bauset Tema 1- Matrices 1 Introducción Por qué estudiar las matrices? Son muchas las situaciones de la vida real en las que

Más detalles

Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y

Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas

Más detalles

DOCENTE: JESÚS E. BARRIOS P.

DOCENTE: JESÚS E. BARRIOS P. DOCENTE: JESÚS E. BARRIOS P. DEFINICIONES Es larga la historia del uso de las matrices para resolver ecuaciones lineales. Un texto matemático chino que proviene del año 300 A. C. a 200 A. C., Nueve capítulos

Más detalles

Clasificación de sistemas

Clasificación de sistemas Capítulo 2 Clasificación de sistemas 2.1 Clasificación de sistemas La comprensión de la definición de sistema y la clasificación de los diversos sistemas, nos dan indicaciones sobre cual es la herramienta

Más detalles

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

ESTRUCTURAS ALGORITMICAS

ESTRUCTURAS ALGORITMICAS ESTRUCTURAS ALGORITMICAS El proceso de resolución de problemas en un ordenador conduce a la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente

Más detalles

Un elemento de cualquier clase llamada Info; Un puntero a un nuevo nodo llamado sig; De tal forma una unión de nodos hace que tengamos una lista:

Un elemento de cualquier clase llamada Info; Un puntero a un nuevo nodo llamado sig; De tal forma una unión de nodos hace que tengamos una lista: Tipos Abstractos de Datos: TAD Lista en educación Profesional 1.- Introducción Los tipos abstractos de datos son fundamentales para la informática puesto que de ellos se sirven todos los programas para

Más detalles

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro Programación Lineal Modelo de Redes Alcance de las aplicaciones Curso: Investigación de Operaciones Ing. Javier Villatoro ALCANCE DE LAS APLICACONES DE REDES ALCANCE DE LAS APLICACIONES Muchas situaciones

Más detalles