Instituto Universitario De Tecnología De Administración Industrial Extensión Región Capital - Ampliación Altos Mirandinos

Oswaldo Márquez C.I.:18.233.645 Carrera: InformáticaII

homogénea y ordenada de elementos.Estructura de datos lineales: arreglos. Manejar los términos punteros y arreglos de punteros. bidimensionales y arreglos paralelos. Un arreglo puede definirse como un grupo o una colección finita. Dobles. . Utilizar cada una de estas estructuras en la codificación de un algoritmo. Circulares. Comprender.      Listas enlazada Simples. utilizando el lenguaje de programación C++. pilas y colas. o al valor NULL o a la lista vacía. Multilistas. Definir una lista enlazada y conocer y hacer uso de las operaciones más comunes Definir y diferenciar las estructuras de datos TAD pilas y colas. • De dos dimensiones. definir y utilizar os conceptos de las estructuras lineales – arreglos unidimensionales. Los arreglos pueden ser de los siguientes tipos: • De una dimensión. • De tres o más dimensiones. Conocer y utilizar las operaciones más usuales con arreglos unidimensionales y bidimensionales. si es el último nodo. Este enlace apunta al siguiente nodo en la lista. Listas enlazadas lineales Listas simples enlazadas La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo. Arreglos: Es un conjunto de datos o una estructura de datos homogéneos que se encuentran ubicados en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma temporal). listas enlazadas.

Por esta razón. similar al de las listas enlazadas simples. Una lista enlazada circular que contiene tres valores enteros Listas enlazadas circulares simples Cada nodo tiene un enlace. y otro que apunta al nodo siguiente. Como en una lista enlazada simple. Para recorrer una lista enlazada circular podemos empezar por cualquier nodo y seguir la lista en cualquier dirección hasta que se regrese hasta el nodo original. . el primer y el último nodo están unidos juntos. es usual quedarse con una referencia solamente al último elemento en una lista enlazada circular simple. y para visitar todos los nodos de una lista a partir de uno dado. usando una sola palabra para ambos enlaces. Cada nodo tiene dos enlaces: uno apunta al nodo anterior. aunque el uso de esta técnica no se suele utilizar. Listas enlazadas circulares En una lista enlazada circular. esto nos permite rápidas inserciones al principio. o apunta al valor si es el primer nodo. excepto que el siguiente nodo del último apunta al primero. Desde otro punto de vista. En algún lenguaje de muy bajo nivel.Lista Doblemente Enlazada Un tipo de lista enlazada más sofisticado es la lista doblemente enlazada o lista enlazadas de dos vías. Esto se puede hacer tanto para listas enlazadas simples como para las doblemente enlazadas. XOR-Linking ofrece una vía para implementar listas doblemente enlazadas. y también permite accesos al primer nodo desde el puntero del último nodo. las listas enlazadas circulares pueden ser vistas como listas sin comienzo ni fin. o apunta al valor NULL si es el último nodo. Este tipo de listas es el más usado para dirigir buffers para “ingerir” datos. los nuevos nodos pueden ser solo eficientemente insertados después de uno que ya tengamos referenciado.

primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura. último en entrar. Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out. . Pilas.Clases para la implementación de Listas.

Vaciar pila. Es necesaria su utilización antes de realizar la operación de sacar elementos de la pila. Esta operación. Pila = g_queue_new (). Funciones asociada a GQueue. Ejemplo 30. Ejemplo 31. void g_queue_push_head (GQueue* queue. Operador Iniciar pila. Función que comprueba si una pila está vacía. GQueue* pila. Función que consulta la cima de la pila. Creando una nueva pila.Tabla 15. gpointer data) gpointer g_queue_pop_head (GQueue* queue) void g_queue_free (GQueue* queue) Iniciar pila. gpointer g_queue_peek_head (GQueue* queue) Meter. } Consultar pila. Sacar. Este operador consulta si la pila está vacía. Pila vacía. consulta el contenido de la cima de la pila sin sacarlo. Ejemplo 32. GQueue* g_queue_new (void) gboolean g_queue_is_empty (GQueue* queue) Consultar pila. gboolean pila_vacia (GQueue* pila) { return g_queue_is_empty (pila). Pila vacía. Operadores asociados al TDA Pila. } . El operador "iniciar pila" es el encargado de crear una nueva pila e inicializarla al estado de pila vacía. gpointer consultar pila (GQueue* pila) { return g_queue_peek_head (pila).

dato = g_queue_pop_head (pila). introduce elementos en la cima de la pila. GQueue* meter pila (GQueue* pila. Introducir un nuevo elemento en la pila. return dato. } Sacar El operador sacar. dato). Ejemplo 33.Meter El operador "meter". return pila. Archivos (Files) ________________________________________ Definiciones Los Archivos (Files) son una colección de Registros (Records). Elimina el contenido de una pila inicializándola a una pila vacía. gpointer sacar pila (GQueue* pila) { gpointer dato. Vacía la pila g_queue_free (pila). donde cada uno de ellos consiste de uno o más Campos (Fields). Ejemplo 35. Ejemplo 34. Saca un elemento de la pila. Ejemplo: • Empleados o Empleado Numero o Empleado Nombre o Empleado_Ocupacion o Empleado_Titulo o Empleado Sexo o Empleado_Direccion o Empleado_Estado_Civil o Empleado_Salario fig. } Vaciar pila. gpointer dato) { g_queue_push_head (pila. saca elementos de la cima de la pila. 1: Ejemplo de datos para el Archivo de Empleados Registro Campos Claves Primarias Secundarias Employee Number (E#) Sí Sí Sí .

• Los valores de las claves pueden estar repetidos. • Consultas Funcionales. Ejemplo : Promedio Empleado_Salario. Ejemplo : 10000 > Empleado_Salario > 9000. . Ejemplo : Empleado_Sexo = M. Cuando se especifica un valor de una clave simple. Los Archivos pueden tener una clave o más de una clave. Los Modos de Recuperación y Actualización ( Modo of Retrieval and Update ) son • Tiempo Real ( Real Time ) • Por Lotes ( Batched ) o Archivo de Transacciones ( Transaction File ) o Archivo Maestro ( Master File ) Las Consultas ( Queries ) son combinaciones de valores de campos claves. Los Tipos de Consultas ( Query Types ) son los siguientes : • Consultas Simples.Name Sí Occupation Sí Degree Sí Sí Sí Sex Sí Sí Location Sí Sí Marital Status (MS) Sí Salary Sí Sí Sí Los Objetivos de la estructura de datos archivo son : • Recuperar Registros • Actualizar Registros o Inserción de nuevos registros o Actualización de algunos campos de registros existentes o Eliminación de registros existentes Las Claves ( Keys ) son campos de los registros designados explícitamente como tales. Cuando se especifica una función de los valores de una clave simple. Cuando se especifica un rango de valores de una clave simple. • Consultas Rangos. Ejemplo : • Archivo Empleados o Empleado Numero o Empleado_Ocupacion o Empleado Sexo o Empleado_Salario Los Valores de las Claves ( Key Values ) pueden tener las siguientes limitaciones : • Los valores de las claves deben ser todos distintos.

Floppy Disk. . Ejemplo : ( Empleado_Sexo = M ) and ( Empleado_Ocupacion = Programador ) and ( Empleado_Salario > 3000 ) Query Tipo Q1 Sex = M Query Simple Q2 Salary > 9000 Query Rango Q3 Salary > salario promedio de todos los empleados Query Funcional Q4 (Sex = M and Occupation = Programmer) or (Employee Number > 700 and Sex = F ) Query Booleano Los Dispositivos de Almacenamiento Externo ( DAE ) ( External Storage Devices ( ESD ) ) permiten disponer los datos de un archivo en un medio externo y persistente. not. ________________________________________ Diferencias entre Tablas de Símbolos y Archivos Las Tablas de Símbolos son suficientemente pequenas para contenerlas en la memoria principal de la computadora.• Consultas Booleanas. or. Disco Duro. el Directorio ( Directory ) y los Datos ( Datas ). Existen las siguientes organizaciones de archivos : • Organización Secuencial ( Sequential Organization ) • Organización Azarosa ( Random Organization ) • Organización Enlazada ( Linked Organization ) • Organización Invertida ( Inverted Organization ) • Organización Celular ( Cellular Organization ) Las Archivos se componen u organizan en dos partes. Diskette o ZIPDisk. Un Directorio puede tener un índice por cada clave o puede tener índices para solamente algunas claves. mientras que los Archivos son suficientemente grandes como para requerir un medio de almacenamiento externo para disponerlos. rangos o funcionales usando los operadores booleanos and. Cuando se especifica una combinación de consultas simples. ________________________________________ Organizaciónes de Archivos ( File Organizations ) Las Organizaciones de Archivos ( File Organizations ) son formas de disponer fisicamente los registros de los archivos en los medios de almacenamiento externo. que son lo popularmente conocidos como Discos Magneticos. El Directorio de un Archivo es una colección de Indices. Ejemplos de ESD son los Dispositivos de Almacenamiento de Acceso Directo ( DAAD ) ( Direct Access Storage Devices ( DASD ) ).

First Out). Operador Iniciar cola. GQueue* g_queue_new (void) gboolean g_queue_is_empty (GQueue* queue) Consultar frente cola.Colas. gpointer data) gpointer g_queue_pop_head (GQueue* queue) void g_queue_free (GQueue* queue) . también denominadas estructuras FIFO (First In. Operadores asociados al TDA Cola. gpointer g_queue_peek_head (GQueue* queue) Consultar final cola. Esta estructura de datos se puede definir como una lista enlazada con acceso FIFO a la que sólo se tiene acceso al final de la lista para meter elementos y al principio de esta para sacarlos. Cola vacía. Los operadores asociados a este TDA y las funciones que los implementan en GLib™ son: Tabla 14. Funciones asociada a GQueue. Meter Sacar Vaciar cola. gpointer g_queue_peek_tail (GQueue* queue) void g_queue_push_tail (GQueue* queue. Una cola es una estructura de datos donde el primer elemento en entrar es el primero en salir.

Es necesaria su utilización antes de realizar la operación de "sacar elementos" de la cola. dato).Iniciar cola. Cola vacía. gpointer dato) { g_queue_push_tail (cola. Función que comprueba si una cola está vacía. } Meter Este operador introduce elementos al final de la cola. cola = g_queue_new (). El operador "Iniciar cola" es el encargado de crear una nueva cola y ponerla en estado de cola vacía. Esta operación consulta el contenido del final de la cola sin sacarlo. Este operador consulta si la cola está vacía. Función que consulta el frente de la cola. } Consultar el final. GQueue* cola. Ejemplo 25. } Consultar el frente. gpointer consultar_frente (GQueue* cola) { return g_queue_peek_head (cola). GQueue* meter_cola (GQueue* cola. Introducir un nuevo elemento en la cola. Ejemplo 23. Ejemplo 24. Función que consulta el final de la cola. gboolean cola_vacia (GQueue* cola) { return g_queue_is_empty (cola). gpointer consultar_final (GQueue* cola) { return g_queue_peek_tail (cola). Esta operación consulta el contenido del frente de la cola sin sacarlo. Ejemplo 26. Ejemplo 27. Creando una nueva cola. .

Esto son definiciones simples. Conocer la representación en memoria de un árbol y de un grafo. Diferenciar entre las estructuras árboles y grafos. dato = g_queue_pop_head (cola). . } Sacar El operador "sacar" elimina elementos del frente de la cola. Ejemplo 28. Elimina el contenido de una cola inicializándola a una cola vacía. gpointer sacar_cola (GQueue* cola) { gpointer dato. Estructuras de Datos No Lineales Árboles Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. Saca un elemento de la cola. Ejemplo 29. Árboles. } Vaciar cola. Pero las características que implican no lo son tanto. También se suele dar una definición recursiva: un árbol es una estructura en compuesta por un dato y varios árboles. return dato. Vacía la cola. Estructura de datos no lineales: árboles y grafos. g_queue_free (cola).return cola.

En el ejemplo. En una cosa. y por lo tanto también los programas para trabajar con ellos. 'E'. el nodo 'A' es padre de 'B'. es decir. • Nivel: se define para cada elemento del árbol como la distancia a la raíz. En el ejemplo. Otra característica que normalmente tendrán nuestros árboles es que todos los nodos contengan el mismo número de punteros. • Grado: el número de hijos que tiene el elemento con más hijos dentro del árbol. En cuanto a la posición dentro del árbol: • Nodo raíz: nodo que no tiene padre. si perdemos este nodo. Es decir. aunque tampoco es estrictamente necesario. Los árboles de orden dos son bastante especiales. cada nodo sólo tendrá un padre. • Altura: la altura de un árbol se define como el nivel del nodo de mayor nivel. • Nodo hoja: nodo que no tiene hijos. En el árbol del ejemplo. para hacer más fácil moverse a través del árbol. 'L' y 'M' son hijos de 'G'. El árbol del ejemplo tiene altura 3. algunos o ninguno de los punteros de cada nodo. 'D'. se llama árbol completo. En relación con otros nodos: • Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol. 'M'. de hecho les dedicaremos varios capítulos. • Nodo rama: aunque esta definición apenas la usaremos. Esto hace que la estructura sea más sencilla. la rama 'B' tiene altura 2. Es importante conservar siempre el nodo raíz ya que es el nodo a partir del cual se desarrolla el árbol.Árbol Definiremos varios conceptos. un nodo cualquiera puede ser considerado como la raíz de un árbol completo. estos son los nodos que no pertenecen a ninguna de las dos categorías anteriores. En el ejemplo. De este modo. 'G' y 'J'. y no existen elementos con más de tres hijos. De este modo podremos avanzar en dirección a la raíz. ya que tanto 'A' como 'D' tienen tres hijos. ese nodo es el 'A'. podemos considerarlo como una estructura independiente. Existen otros conceptos que definen las características del árbol. Es decir. Un árbol en el que en cada nodo o bien todos o ninguno de los hijos existe. 'H'. nivel 3. En el ejemplo. añadiremos un puntero a cada nodo que apunte al nodo padre. en relación a su tamaño: • Orden: es el número potencial de hijos que puede tener cada elemento de árbol. . Esto hace que estos árboles estén fuertemente jerarquizados. y es lo que en realidad les da la apariencia de árboles. El nivel de la raíz es cero y el de sus hijos uno. Los árboles con los que trabajaremos tienen otra característica importante: cada nodo sólo puede ser apuntado por otro nodo. usaremos la misma estructura para todos los nodos del árbol. etc. 'K'. 'C'. los árboles se parecen al resto de las estructuras que hemos visto: dado un nodo cualquiera de la estructura. Tampoco es necesario que todos los nodos hijos de un nodo concreto existan. la rama 'G' tiene altura 1. Este es el nodo que usaremos para referirnos al árbol. y el nodo 'N'. En el ejemplo: 'B'. 'C' y 'D'. etc. diremos que un árbol en el que cada nodo puede apuntar a otros dos es de orden dos. también podemos hablar de altura de ramas. Frecuentemente. En el ejemplo hay varios: 'F'. la 'H' cero. Así sucesivamente. perderemos el acceso a todo el árbol. • Nodo padre: nodo que contiene un puntero al nodo actual. medida en nodos. 'I'. Como cada nodo de un árbol puede considerarse a su vez como la raíz de un árbol. que pueden usarse todos. el grado es tres. Estos árboles se conocen también como árboles binarios. 'N' y 'O'. si puede apuntar a tres será de orden tres. el nodo 'G' tiene nivel 2. 'L'. el nodo 'D' tiene nivel 1. y no sólo hacia las hojas. es decir.

typedef tipo Nodo *Árbol. Cada vez que lleguemos a un nuevo nodo podremos optar por cualquiera de los nodos a los que apunta para avanzar al siguiente nodo. Veamos un ejemplo de nodo para crear árboles de orden tres: struct nodo { int dato. aunque sólo en el número de nodos. Al igual que hicimos con las listas que hemos visto hasta ahora. dividido en capítulos. También se suelen organizar en forma de árbol los organigramas de mando en empresas o en el ejército. } tipo Nodo. y los árboles genealógicos. podríamos considerar que los nodos hoja son ficheros y los nodos rama son directorios. Arboles Binarios . Aunque en este caso se trata de árboles con nodos de dos tipos. struct nodo *rama2. struct _nodo *rama [ORDEN]. }. como una lista. pero las aplicaciones no tienen por qué serlo. struct nodo *rama [ORDEN]. declaramos un tipo tipo Nodo para declarar nodos. Un ejemplo de estructura en árbol es el sistema de directorios y ficheros de un sistema operativo. intentaremos que exista algún significado asociado a cada uno de los punteros dentro de cada nodo. struct nodo *rama3. struct nodo *rama1. Tipos de arboles en C Para C. y un tipo pNodo para es el tipo para declarar punteros a un nodo. Árbol es el tipo para declarar árboles de orden ORDEN. por ejemplo de este mismo curso. O generalizando más: #define ORDEN 5 struct nodo { int dato. será siempre partiendo del nodo raíz hacia un nodo hoja. salvo que implementemos punteros al nodo padre.El nodo típico de un árbol difiere de los nodos que hemos visto hasta ahora para listas. y cada uno de ellos en subcapítulos. Árbol El movimiento a través de árboles. también es posible acceder a cualquier punto de él a través de la tabla de contenido. }. los árboles que estamos viendo son abstractos. En general. trabajaremos con los siguientes tipos: typedef struct _nodo { int dato. Aunque el libro sea algo lineal. en el que cada capítulo sigue al anterior. Otro ejemplo podría ser la tabla de contenido de un libro. typedef tipo Nodo *pNodo. nodos directorio y nodos fichero. y basándonos en la declaración de nodo que hemos visto más arriba.

Recorrido de un Árbol Binario Recorrido en amplitud Es aquel recorrido que recorre el árbol por niveles. Árbol binario de búsqueda.Se define un árbol binario como un conjunto finito de elementos (nodos) que bien está vacío o está formado por una raíz con dos árboles binarios disjuntos. Si se considera la tarea como un proceso secuencial. Esta operación se considera entonces como un parámetro de una tarea más general que es la visita de todos los nodos o. 9. dos descendientes directos llamados subárbol izquierdo y subárbol derecho. Los árboles binarios (también llamados de grado 2) tienen una especial importancia.5. es decir. Inorden • Recorrer el subárbol izquierdo en inorden. entonces los nodos individuales se visitan en un orden específico. Si el árbol está organizado de tal manera que la clave de cada nodo es mayor que todas las claves su subárbol izquierdo. Pre orden • Examinar la raíz. en el último ejemplo sería: 12 .17 . . Los árboles binarios se utilizan frecuentemente para representar conjuntos de datos cuyos elementos se identifican por una clave única. según un cierto orden subyacente. Hay tres formas: en inorden. pre orden y postorden.15 Recorrido en profundidad Recorre el árbol por subárbols. y pueden considerarse como organizados según una estructura lineal. De hecho. • Recorrer el subárbol derecho en inorden. • Examinar la raíz. Las aplicaciones de los arboles binarios son muy variadas ya que se les puede utilizar para representar una estructura en la cual es posible tomar decisiones con dos opciones en distintos puntos. se simplifica considerablemente la descripción de muchos algoritmos si puede hablarse del proceso del siguiente elemento en el árbol. del recorrido del árbol. Cada una de ellas tiene una secuencia distinta para analizar el árbol como se puede ver a continuación: 1. Hay dos formas básicas de recorrer un árbol: El recorrido en amplitud y el recorrido en profundidad. Ejemplo: Operaciones básicas Una tarea muy común a realizar con un árbol es ejecutar una determinada operación con cada uno de los elementos del árbol. como se denomina usualmente.8. y menor que todas las claves del subárbol derecho se dice que este árbol es un árbol binario de búsqueda. Hay tres Pre orden. 2. orden central y postorden.

A continuación se hará una breve descripción de los diferentes tipos de árbol binario así como un ejemplo de cada uno de ellos. • Hermano: Dos nodos serán hermanos si son descendientes directos de un mismo nodo. También se dice que X es antecesor de Y. Inorden: GDBHEIACJKF Pre orden: ABDGEHICFJK Postorden: GDHIEBKJFCA Clasificación de Arboles Binarios Existen cuatro tipos de árbol binario: • Árbol Binario Distinto. También se dice que X es descendiente directo de Y. Ejemplo: Árbol Binario Completo Son aquellos arboles en los que todos sus nodos excepto los del último nivel. • Árbol Binario Equivalentes. • recorrer el subárbol derecho en pre orden. • Examinar la raíz. Árbol Binario Distinto Se dice que dos árboles binarios son distintos cuando sus estructuras son diferentes. Ejemplo: Árbol Binario Equivalente Son aquellos arboles que son similares y que además los nodos contienen la misma información. • Hoja: Se le llama hoja o terminal a aquellos nodos que no tienen ramificaciones (hijos). • Nodo anterior: Es un nodo que no es raíz ni terminal. • Grado: Es el número de descendientes directos de un determinado nodo. . pero la información que contienen sus nodos es diferente. • Árbol Binario Similares. tiene dos hijos. • Árbol Binario Completos.• Recorrer el subárbol izquierdo en pre orden. Ejemplo: Árbol Binario Similar Dos árboles binarios son similares cuando sus estructuras son idénticas. el subárbol izquierdo y el subárbol derecho. sí y solo sí el nodo X es apuntado por Y. • Recorrer el subárbol derecho en postorden. • A continuación se muestra un ejemplo de los diferentes recorridos en un árbol binario. Postorden • Recorrer el subárbol izquierdo en postorden. 3. Terminología La terminología que por lo regular se utiliza para el manejo de arboles es la siguiente: • Hijo: X es hijo de Y. • Padre: X es padre de Y sí y solo sí el nodo X apunta a Y.

(A. El conjunto de nodos es {A. F. • Longitud de camino: Es el número de arcos que deben ser recorridos para llegar desde la raíz al nodo X. (A. Por definición la raíz tiene longitud de camino 1. A)} para el siguiente grafo . C). • Peso: Es el número de nodos del árbol sin contar la raíz. (E. • Altura: Es el máximo número de niveles de todos los nodos del árbol.• Grado de un árbol: Es el máximo grado de todos los nodos del árbol. F). H} y el conjunto de arcos {(A. B. (C. (C. Por definición la raíz tiene nivel 1. D. GRAFOS Un grafo está formado por un conjunto de nodos(o vértices) y un conjunto de arcos. G. B). G). (A. D). C. Cada arco en un grafo se especifica por un par de nodos. D). • Nivel: Es el número de arcos que deben ser recorridos para llegar a un determinado nodo. y sus descendientes directos longitud de camino 2 y así sucesivamente.

-Camino es una secuencia de uno o más arcos que conectan dos nodos.-Un grafo es completo cuando cada nodo está conectado con todos y cada uno de los nodos restantes. el grafo se denomina grafo directo.-El camino de un nodo así mismo se llama ciclo.-Un grafo nulo es un grafo de orden 0 (cero).-Un grafo se denomina conectado cuando existe siempre un camino que une dos nodos cualesquiera y desconectado en caso contrario. *.-En un grafo dirigido. dirigido o dígrafo. *.-Al número de nodos del grafo se le llama orden del grafo.Si los pares de nodos en los arcos dirigidos. MATRIZ DE ADYACENCIA . TERMINOLOGÍA *. *. *. si A esa adyacente de B. *.-Dos nodos son adyacentes si hay un arco que los une. *. no necesariamente B es adyacente de A *.

*. .-El fuera de grado de un nodo indica el número de arcos que salen de él.-Un grafo sin ciclos es un árbol. *. c) Esta mínimamente conectado. *.-Un grafo de N vértices o nodos es un árbol si cumple las siguientes condiciones a) Tiene N-1 arcos b) Existe una trayectoria entre cada par de nodos.*.-El entregado de un nodo indica el número de arcos que llegan a ser nodo. Si este valor es numérico se dice que el grafo tiene peso.-Un grafo esta etiquetado si sus arcos tiene valores asignados. *.

V .E//. Un grafo (específicamente.G/.V . vg. donde V es un conjunto finito no vacío de elementos llamados vértices y E es un conjunto de pares desordenados de elementos distintos de V llamados aristas. grafo simple no dirigido) es un par G D . Es decir.Grafos. La terminología en teoría de grafos varía muchísimo: prácticamente no hay dos textos que adopten la misma. En particular. v 2 V y u 6D v. una arista e 2 E tiene la forma fu.V. y las aristas arcos. donde u. E/ D . . los vértices de un grafo también reciben a veces el nombre de nodos. ejes o líneas.