Graphs: Glossary

    Graphs: Glossary

      Abstract Data Type (ADT): A computer science data type that doesn't technically exist according to the computer. It can be anything from an integer to a graph, it just has to be something that people use to model data in computer science.

      Adjacency Matrix: A two-dimensional table where the values show the edges between nodes in a graph. Because computers don't automatically "get" graphs, we have to represent them using either adjacency matrices or a list of edge pairs.

      Breadth-First Search (BFS): A way of traveling through a graph where you visit all the neighbors of a node before moving on to another node. Is it thorough? Yes. Does it take up a ton of space? Also yes.

      Complete Graph: A graph where every node is connected to every other node with an edge. Hope you like tangled messes, because complete graphs are great at making them.

      Connected Graph: As long as there's a path between every node in a graph, it's connected. Otherwise, there's something unconnected.

      Cycle: If, when you're walking through a graph, you can ever get stuck going around the same nodes in the same pattern more than once, you've found a cycle. It's like you're…cycling through the nodes.

      Cycle Graph: A graph that is one big cycle.

      Degree: The number of edges connected to a node. If the graph's directed, it's pretty de-greedy, so you'll count the in-degree and the out-degree to get the total degree.

      Depth-First Search: Much more about the "act now, ask questions later," personality, this search makes an arbitrary decision to go one way and just keep going. If it succeeds on the first try, great! If not, it's going to hop back to the last decision to try going a different way. It's trial and error to the extreme.

      Dijkstra’s Algorithm: An algorithm developed by Edsger Dijkstra to find the lowest cost route between any two nodes in a graph. There are weights involved—and a bit of logical arm-waving—so be sure to read the section on it if you're confused.

      Directed Graph: A graph where at least one edge can go from one node to another, but can't go the opposite direction. It's like a one-way street, except highly theoretical.

      Disconnected Graph: A graph with vertices or nodes that are not connected to anything else in the graph. They're the graph equivalent of the guy with the aluminum foil hat in a movie about alien invasions.

      Discrete Graph: A graph filled with lone wolf nodes. All the nodes in these graphs stand alone with no edges between them.

      Edge: The unsung hero of graph theory, an edge is a line connecting two nodes in a graph, showing how they're related.

      Euler Circuit: An Euler Path that also happens to be a circuit. That is, a circuit that includes every edge being visited exactly once in every round.

      Euler Path: A path around a graph that visits every edge exactly once. It's fair to all the edges that way.

      Forest: A group of unconnected trees. No, we didn't make that name up, but we wish we did because it's great.

      Hamiltonian Circuit: This one has two definitions. The first is graph theory related: a Hamiltonian Path that is also a circuit, so it visits every node exactly once, but you can rotate around the graph more than once, if that's your thing. If you hear it outside of graph theory, someone's probably talking about the traveling cast of Hamilton as they wow their way across the country. (Just waiting on you, Broadway.)

      Hamiltonian Path: A path around a graph that visits every node exactly once. Outside of graph theory, it could mean the story of Lin-Manuel Miranda as he didn't throw away his shot.

      In-Degree: In a directed graph, the number of edges entering a node. Outside of a directed graph, the misguided Google search of someone hoping to design web pages using an Adobe product.

      Interior nodes: Nodes in a tree that are neither the root nor the leaves. They just kind-of hang out on the inside, like a pack of vampires in the daytime.

      Isomorphic Graphs: Graphs that have the same nodes connected by the same vertices, they're just…arranged differently.

      Leaf: A node at the farthest tips of a tree’s branches This is as far from the root node as you can go before hitting...empty space.

      Node/Vertex: The data point in a graph, often shown in colorful shapes. A node/vertex is connected to other nodes/vertices by edges.

      Out-Degree: In a directed graph, the number of edges going out of a node. Outside a directed graph, a way that some people use to describe how many years they have before graduating (probably).

      Path: A way to get from one node to another in a graph, it can be as simple as two nodes connected by an edge and as large as two nodes connected by…lots of edges. Paths are usually directed.

      Planar Graph: A graph with no overlapping edges. Good luck making one of these from a non-planar graph.

      Simple Graph: A graph without any loops or multiple edges (between the same two nodes). As with most things in life, a simpler graph is generally a better graph.

      Spanning Forest: A group of unconnected spanning trees, not to be confused with a spandex forest, which is another name for a workout video from the 80s.

      Spanning Tree: A graph of a graph (how meta) where there's only one path to get from any one node to any other node.

      Tree: A graph with only one possible path between any two vertices. That means no loops, no multi-edges, and no cycles. Sounds terrible for an amusement park, but it's great for graph theory.

      Undirected Graph: A graph where it doesn't matter which direction you take an edge. Either way, you're good to go.

      Weighted Graph: A graph that has a cost associated in life. Just like life, it's annoying, but you can work your way around it.