Ich wollte diese Serie mit einer Datenstrukturstruktur beginnen, mit der wir alle als Entwickler vertraut sind, die wir aber vielleicht nicht einmal kennen: Directed Acyclic Graphs. „Davon habe ich noch nie gehört. Du kennst mich nicht!“ Sie mögen sagen, aber dieses Diagramm macht die Versionskontrolle möglich. Git ist ein azyklischer Graph. In diesem Beitrag werde ich Ihnen ein wenig Wissen über DAGs vermitteln und Ihnen dann zeigen, wie Sie mit etwas Code eines erstellen.
Was ist eine DAG?
Was bedeutet das überhaupt? Ein DAG ist ein Graph, der in eine Richtung fließt, in der kein Element ein Kind von sich selbst sein kann. Die meisten von uns sind also mit verknüpften Listen, Bäumen und sogar Grafiken vertraut. Eine DAG ist den ersten beiden sehr ähnlich und eine Implementierung der dritten.