¿Qué son los gráficos, en informática, y para qué se utilizan? ¿por? En términos simples preferiblemente.

He leído la definición en Wikipedia :

En informática, un gráfico es un tipo de datos abstracto destinado a implementar los conceptos de gráfico e hipergráfico de las matemáticas.

Una estructura de datos de gráfico consta de una estructura de datos finita (y posiblemente mutable ) conjunto de pares ordenados, llamados aristas o arcos, de ciertas entidades llamadas nodos o vértices. Como en matemáticas, se dice que una arista (x, y) apunta o va de xay. Los nodos pueden ser parte de la estructura del gráfico , o pueden ser entidades externas representadas por índices enteros o referencias.

pero estoy buscando una definición menos formal y más fácil de entender.

Comentarios

  • ¿Te refieres a graficar la estructura de datos?
  • Sí, lo siento. Gráficos como se describe aquí en.wikipedia.org/wiki/Graph_(abstract_data_type) , solo yo ‘ estoy buscando una definición menos formal y más fácil de entender.
  • @ Justin984 Los enlaces de Wikipedia entre paréntesis (y hay tantos) no ‘ no funcionan, los paréntesis no ‘ t funciona bien con el formato Markdown para enlaces. Ahora, para referencia futura, agregue cualquier aclaración a su pregunta en la pregunta en sí, no en los comentarios, no son ‘ t tan visibles y ‘ es fácil pasarlos por alto. ‘ editaré el comentario anterior en la pregunta …
  • @ Justin984 También tenga en cuenta que Ciencias de la computación Stack Exchange podría ser un poco más apropiado para preguntas como esta que para programadores. No ‘ no me malinterpretes, la pregunta está perfectamente relacionada con el tema aquí y obtuvo excelentes respuestas, pero no ‘ dolería si revisaste una comunidad que ‘ está un poco más centrada en conceptos básicos de informática que nosotros (no ‘ no publique la misma pregunta en Sin embargo, en varios sitios, si lo publica en el sitio equivocado, podemos moverlo al correcto automáticamente).

Responder

Un ejemplo perfecto de un profano podría ser Facebook . La red de usted, sus amigos y sus amigos, etc., se conocen colectivamente como el gráfico social .

En este «gráfico», las personas se consideran nodos del gráfico y

bordes son enlaces de amistad .

En Facebook, amigo es una relación bidireccional (A es el amigo de B => B es el amigo de A) por lo que el gráfico es un Gráfico no dirigido . Una red como Google+ o Twitter se consideraría un Gráfico dirigido ya que la dirección de la relación tiene significado aquí.

Todos estos gráficos se denominan gráficos cíclicos , ya que las relaciones entre los nodos pueden formar ciclos . Un Family Tree , por otro lado, es un tipo especial de gráfico que, entre otras cosas, es Acíclico ya que no puede haber ciclos en la relación del árbol genealógico. (Técnicamente se denomina Gráfico acíclico dirigido (DAG) ya que es tanto dirigido como acíclico)

Esto debería cubrir toda la jerga básica que involucra gráficos, por lo que ahora debería poder seguir el resto del material en el campo.

Comentarios

  • No puedo ‘ creer que no ‘ Se me ocurre que ‘ se llama la API de gráficos de Facebook. ¡Buen ejemplo!
  • ¿El árbol genealógico no es cíclico? No debería ‘ ser, pero lamentablemente lo es …
  • @MarjanVenema, el árbol genealógico es cíclico ? (Es ‘ un gráfico dirigido, por lo que la dirección es importante para determinar los ciclos y, presumiblemente, las relaciones entre pasos no ‘ no cuenta.)
  • @dbaupp: No deseo entrar en detalles aquí, así que ‘ solo mencionaré uno palabra: incesto.
  • @MarjanVenema, ‘ estás perdiendo mi punto.Un ciclo en un gráfico dirigido es un patrón como A -> B -> C -> A (es decir, un círculo de flechas), el incesto solo da A -> B -> C y A -> D -> C (es decir, un diamante). Un ciclo en un árbol genealógico necesita viajar en el tiempo.

Respuesta

Los gráficos son uno de los conceptos matemáticos más importantes utilizado en ciencias de la computación.

Has visto gráficos muchas veces. Imagina que estás tomando un vuelo de una ciudad a otra. Inevitablemente encontrarás una bonita revista brillante de la aerolínea en el asiento bolsillo frente a ti. Cerca de la parte posterior de esa revista, casi siempre se puede encontrar un mapa que muestra las ciudades atendidas por esa aerolínea representadas como círculos, con los vuelos que conectan esas ciudades representados como líneas curvas. ¡Eso es un gráfico! Las ciudades, representadas como círculos, son los nodos de este gráfico y los vuelos, representados como líneas curvas, son los bordes. Los gráficos son solo cosas con nodos y bordes que conectan nodos.

Puedes embellecer esos gráficos simples de varias formas. No quieres ver solo un montón de círculos y líneas cuando miras ese mapa. Esas ciudades tienen nombres. Etiquetar esas ciudades da como resultado un gráfico etiquetado. (También puedes etiquete los bordes, por ejemplo, vuelo 1234.) La informática a menudo asocia datos con los nodos, a veces con los bordes, pero eso es solo una extensión de la etiqueta. Sigue siendo un gráfico etiquetado. Otro embellecimiento resulta si puede volar directamente de la ciudad A a la ciudad B, pero no de la ciudad B a la ciudad A. Una forma obvia de representar esto es poner una flecha en la línea que conecta las ciudades para representar esta relación unidireccional. Ahora tiene un gráfico dirigido.

Las listas vinculadas, los árboles, los diagramas de transición de estado y muchas otras estructuras de datos informáticos son ejemplos de gráficos. Es una herramienta muy poderosa concepto.

Comentarios

  • Yo ‘ extiendo ese ejemplo para señalar que todos las entidades descritas en su ejemplo podrían representarse como vértices en un gráfico (ciudad, plano, revista, mapa, etc.), siendo el mapa en sí un solo vértice.

Respuesta

Una mejor pregunta sería «¿Para qué no se usan las gráficas?». La informática es, en muchos aspectos, el estudio de gráficos.

Un gráfico, en términos sencillos, es una colección de objetos abstractos arbitrarios llamados «nodos» o «vértices» que representan puntos de conexión. Luego se conectan a través de «rutas» o «bordes». El tipo de datos abstracto «Gráfico» es una implementación del «Gráfico» matemático. Así que básicamente tienes nodos y bordes como tus campos y varias operaciones que puedes realizar en ellos. puede, por ejemplo, agregar un nuevo nodo a la colección del gráfico (esto podría ser una lista o una matriz o alguna otra estructura dependiendo del idioma). Luego, podría vincular ese nodo a los nodos existentes. Las operaciones también incluirían atravesar el gráfico, verificar si dos nodos comparten un borde (están conectados), recuperar valores de nodos o bordes y la eliminación de nodos o bordes del gráfico.

En cuanto a la utilización va, los gráficos se utilizan en todas partes. Las redes hacen un uso particularmente intensivo de ellos, pero se encuentran en inteligencia artificial, minería de datos, desarrollo de juegos, geoinformática y una serie de otras disciplinas. En la informática formal, ven aún más uso, es decir, como una forma de representar el estado.

Efectivamente, cualquier cosa que pueda representar como un conjunto de conexiones se puede representar como un gráfico e implementar a través de ese ADT en algunos formulario.

Aquí hay un gráfico de ejemplo que hice:

Ejemplo de gráfico

Respuesta

Un gráfico es solo una colección de objetos conectados entre sí por líneas llamadas vértices.

El término «gráfico» es una abstracción y generalización de muchos estructuras de datos utilizadas en el desarrollo de software. Las listas enlazadas, los árboles binarios y los AST «s son todos gráficos.

Básicamente, cualquier colección de objetos que tiene punteros que asocian los objetos entre sí es un gráfico. Una vez que tenga un gráfico, puede aplicarle los principios de la teoría de grafos para resolver ciertos problemas .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *