Was sind Diagramme in der Informatik und was werden sie verwendet? zum? In Laienbegriffen vorzugsweise.

Ich habe die Definition auf Wikipedia gelesen:

In der Informatik ist ein Graph ein abstrakter Datentyp, der die Graph- und Hypergraph-Konzepte aus der Mathematik implementieren soll.

Eine Graphdatenstruktur besteht aus einer endlichen (und möglicherweise veränderlichen) Struktur ) Satz geordneter Paare, genannt Kanten oder Bögen, bestimmter Entitäten, die als Knoten oder Eckpunkte bezeichnet werden. Wie in der Mathematik soll eine Kante (x, y) von x nach y zeigen oder gehen. Die Knoten können Teil der Graphstruktur sein oder können externe Entitäten sein, die durch ganzzahlige Indizes oder Referenzen dargestellt werden.

aber ich suche nach einer weniger formalen, leichter verständlichen Definition.

Kommentare

  • Meinen Sie Diagramme der Datenstruktur?
  • Ja, Entschuldigung. Diagramme wie hier beschrieben de.wikipedia.org/wiki/Graph_(abstract_data_type) , nur ich ‚ suche Eine weniger formale, leichter verständliche Definition.
  • @ Justin984 Wikipedia-Links mit Klammern (und es gibt so viele davon) funktionieren nicht ‚, die Klammern funktionieren nicht ‚ spielt nicht gut mit dem Markdown-Format für Links. Zum späteren Nachschlagen fügen Sie Ihrer Frage bitte Klarstellungen in der Frage selbst hinzu, nicht in Kommentaren. Sie sind ‚ nicht so sichtbar und ‚ Es ist leicht, sie zu übersehen. Ich ‚ werde Ihren obigen Kommentar in der Frage bearbeiten …
  • @ Justin984 Beachten Sie auch, dass Informatik Stack Exchange ist möglicherweise für Fragen wie diese etwas besser geeignet als Programmierer. Verstehen Sie mich nicht ‚, die Frage ist hier perfekt zum Thema und hat großartige Antworten erhalten, aber es würde nicht schaden, wenn ‚ Sie haben eine Community überprüft, in der ‚ ein bisschen mehr auf Kernkonzepte der Informatik ausgerichtet ist als wir (‚ stellen Sie nicht dieselbe Frage in Mehrere Sites: Wenn Sie es zufällig auf der falschen Site veröffentlichen, können wir es automatisch auf die richtige Site verschieben.

Antwort

Ein perfektes Beispiel für Laien könnte Facebook sein. Das Netzwerk von Ihnen, Ihren Freunden und Ihre Freunde usw. werden gemeinsam als sozialer Graph .

In diesem „Diagramm“ werden die Personen als Knoten des Graphen und des

Kanten sind Freundschaftslinks .

In Facebook ist Freund eine bidirektionale Beziehung (A ist B „Freund => B ist A“ Freund), daher ist das Diagramm eine Ungerichteter Graph . Ein Netzwerk wie Google+ oder Twitter wird als gerichteter Graph betrachtet, da die Richtung der Beziehung hier eine Bedeutung hat.

Alle diese Diagramme werden als zyklische Diagramme bezeichnet, da die Beziehungen zwischen Knoten Zyklen bilden können . Ein Stammbaum ist dagegen eine spezielle Art von Grafik, die unter anderem Acyclic , da es keine Zyklen in der Stammbaumbeziehung geben kann. (Es wird technisch als Directed Acyclic Graph (DAG) bezeichnet, da es sowohl gerichtet als auch azyklisch ist.)

Dies sollte den gesamten Grundjargon mit Grafiken abdecken, sodass Sie jetzt in der Lage sein sollten, den Rest des Materials im Feld zu verfolgen.

Kommentare

  • Kann ‚ nicht glauben, dass es nicht ‚ Es fällt mir nicht ein, dass es ‚ die Facebook Graph API genannt wird. Gutes Beispiel!
  • Stammbaum nicht zyklisch? Es sollte nicht ‚ sein, aber es ist leider …
  • @MarjanVenema, der Stammbaum ist zyklisch ? (Es ‚ ist ein gerichteter Graph, daher ist die Richtung wichtig für die Bestimmung von Zyklen, und vermutlich treten keine Schrittbeziehungen auf ‚ zählt nicht wirklich.)
  • @dbaupp: Ich möchte hier nicht auf Details eingehen, daher werde ich ‚ nur einen erwähnen Wort: Inzest.
  • @MarjanVenema, Sie ‚ vermissen meinen Standpunkt.Ein Zyklus in einem gerichteten Graphen ist ein Muster wie A -> B -> C -> A (dh ein Kreis von Pfeilen), Inzest ergibt nur A -> B -> C und A -> D -> C (dh ein Diamant). Ein Zyklus in einem Stammbaum benötigt Zeitreisen.

Antwort

Diagramme sind eines der wichtigsten mathematischen Konzepte in der Informatik verwendet.

Sie haben schon viele Male Grafiken gesehen. Stellen Sie sich vor, Sie fliegen mit dem Flugzeug von einer Stadt in eine andere. Sie werden unweigerlich ein schönes Hochglanzmagazin der Fluggesellschaft auf dem Sitz finden Tasche vor dir. Im hinteren Bereich dieses Magazins finden Sie fast immer eine Karte, auf der die von dieser Fluggesellschaft angeflogenen Städte als Kreise dargestellt sind, wobei die Flüge, die diese Städte verbinden, als gekrümmte Linien dargestellt sind. Das „ein Diagramm! Die Städte, dargestellt als Kreise, sind die Knoten dieses Diagramms und die Flüge, dargestellt als gekrümmte Linien, sind die Kanten. Diagramme sind nur Dinge mit Knoten und Kanten, die Knoten verbinden.

Sie können diese einfachen Diagramme auf verschiedene Arten verschönern. Sie möchten nicht nur ein paar Kreise und Linien sehen, wenn Sie sich diese Karte ansehen. Diese Städte haben Namen. Das Beschriften dieser Städte führt zu beschrifteten Diagrammen. (Sie können auch Beschriften Sie die Kanten, z. B. Flug 1234.) In der Informatik werden Daten häufig mit den Knoten verknüpft, manchmal mit den Kanten, aber das ist nur eine Erweiterung der Beschriftung. Es ist immer noch eine beschriftete Grafik. Eine weitere Verschönerung ergibt sich, wenn Sie direkt von Stadt A nach Stadt B fliegen können, aber nicht von Stadt B nach Stadt A. Eine naheliegende Möglichkeit, dies darzustellen, besteht darin, einen Pfeil auf die Linie zu setzen, die die Städte verbindet Jetzt haben Sie ein gerichtetes Diagramm.

Verknüpfte Listen, Bäume, Zustandsübergangsdiagramme und viele andere Datenstrukturen der Informatik sind Beispiele für Diagramme. Es ist sehr leistungsfähig Konzept.

Kommentare

  • Ich ‚ würde dieses Beispiel tatsächlich erweitern, um festzustellen, dass alle Entitäten, die in Ihrem Beispiel beschrieben wurden, können als Scheitelpunkte in einem Diagramm (Stadt, Ebene, Magazin, Karte usw.) dargestellt werden, wobei die Karte selbst nur ein einzelner Scheitelpunkt ist.

Antwort

Eine bessere Frage wäre „Wofür werden keine Diagramme verwendet?“. Informatik ist in vielerlei Hinsicht das Studium von Graphen.

Ein Graph ist für Laien eine Sammlung beliebiger abstrakter Objekte, die als „Knoten“ oder „Eckpunkte“ bezeichnet werden und Verbindungspunkte darstellen. Sie werden dann über „Pfade“ oder „Kanten“ verbunden. Der abstrakte Datentyp „Graph“ ist eine Implementierung des mathematischen „Graph“. Sie haben also im Grunde Knoten und Kanten als Ihre Felder und verschiedene Operationen, die Sie an ihnen ausführen können. Sie Sie können beispielsweise der Sammlung des Diagramms einen neuen Knoten hinzufügen (dies kann je nach Sprache eine Liste, ein Array oder eine andere Struktur sein). Sie können diesen Knoten dann mit vorhandenen Knoten verknüpfen. Zu den Vorgängen gehören auch das Durchlaufen des Diagramms, das Überprüfen, ob zwei Knoten eine Kante gemeinsam nutzen (miteinander verbunden sind), das Abrufen von Werten von Knoten oder Kanten und das Löschen von Knoten oder Kanten aus dem Diagramm.

Soweit zur Verwendung geht, Grafiken werden überall verwendet. Networking nutzt sie besonders stark, aber sie sind in den Bereichen Künstliche Intelligenz, Data Mining, Spieleentwicklung, Geoinformatik und einer Vielzahl anderer Disziplinen zu finden. In der formalen Informatik sehen sie noch mehr Verwendung, nämlich als eine Art, den Zustand darzustellen.

Tatsächlich kann alles, was Sie als eine Reihe von Verbindungen darstellen können, als Grafik dargestellt und in einigen Fällen über dieses ADT implementiert werden Formular.

Hier ist eine Beispielgrafik, die ich erstellt habe:

Diagrammbeispiel

Antwort

Ein Graph ist nur eine Sammlung von Objekten, die durch Linien verbunden sind, die als Eckpunkte bezeichnet werden.

Der Begriff „Graph“ ist eine Abstraktion und Verallgemeinerung vieler Datenstrukturen, die in der Softwareentwicklung verwendet werden. Verknüpfte Listen, Binärbäume und ASTs sind alle Diagramme.

Grundsätzlich jede Sammlung von Objekten, die Zeiger, die die Objekte miteinander verknüpfen, ist ein Diagramm. Sobald Sie ein Diagramm haben, können Sie die Prinzipien der Diagrammtheorie darauf anwenden, um bestimmte Probleme zu lösen .

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.