# Graph terminology: vertex, node, edge, arc

Precisely speaking, what is the difference between the graph terms of ("vertex" vs. "node") and ("edge" vs. "arc")?

I have read that "node" and "arc" should be used when the graph is strictly a tree.

If there is a precise rule or protocol, please cite a reference.

• As far as I can tell, there is no difference. Some people use some terms, and some people prefer others. Perhaps some textbooks make a difference (one idea would be to use different words for directed and undirected graphs), but I'm not aware of any, and these distinctions are not standard anyway. Commented Apr 5, 2011 at 23:53

The distinction between vertex and node seems to me to be mostly about discipline (e.g. whether you come from combinatorics or computer science) and is irrelevant. The distinction between edge and arc can sometimes be relevant depending on who's using it: combinatorialists sometimes use "edge" to mean "undirected edge" and "arc" to mean "directed edge," although this usage is not universal.

• In addition, "arc" is often used in topological situations; e.g., Diestel defines a polygonal arc as a union of finitely many straight line segments homeomorphic to [0,1] when talking about planar graphs. Commented Apr 6, 2011 at 0:19

You can take a look at "Introduction to Graph Theory" of Douglas B. West.

At page 3/Example 1.1.5 of the Second Edition:

The terms "vertex" and "edge" arise from solid geometry. A cube has vertices and edges, and these form the vertex set and edge set of a graph.

At page 55/Remark 1.4.8 of the Second Edition:

We often use the same names for corresponding concepts in the graph and digraph models. Many authors replace "vertex" and "edge" with "node" and "arc" to discuss digraphs, but this obscures the analogies. Some results have the same statements and proofs; it would be wasteful to repeat them just to change terminology (especially in Chapter 4).

Also, a graph G can be modeled using a digraph D in which each edge uv E E(G) is replaced with UV, vu E E(D). In this way, results about digraphs can be applied to graphs. Since the notion of "edge" in digraphs extends the notion of "edge" in graphs, using the same name makes sense.

So according to this book, vertices and edges are for undirected graphs due to the analogy with solid geometry and node and arcs are for directed graphs.

In computer science, "node" and "edge" are used in both cases. I think the only mistake you could make is to use the term "arc" for undirected graph.

• I am confused, in the penultimate paragraph you say "vertices and edges are for undirected graphs..." and then "node and arcs are for undirected graphs". Both for undirected graphs? Commented Nov 17, 2017 at 6:22
• I think the second undirected could be a typo Commented Nov 20, 2017 at 15:56
• Indeed, I have corrected it thanks :) Commented Dec 18, 2017 at 16:03

My readings suggests "arc" and "edge" are conceptually the same. Yet, LEMON ( http://lemon.cs.elte.hu/trac/lemon )has separate functions/methods for arcs & edges. I have played with it but not enough to understand the difference, in their usage.

As I was wondering the same, I stumbled upon some extra information. I'm reading a book about Computational Geometry.

In this book a graph is drawn within a polygon, to avoid ambiguity they used edges to talk about parts of the shape and arcs to talk about the graph.

The book says the following

$\dots$ let $G$ be a graph associated with a traingulation, whose arcs are the edges of the polygon $\dots$

In my opinion, both terminologies come from the different perception of graphs and networks. Albert-László Barabási writes in his recent text book.

"In the scientific literature the terms network and graph are used interchangeably:

Network science Graph theory
Network Graph
Node Vertex
{"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "url": "https://math.stackexchange.com/questions/31207/graph-terminology-vertex-node-edge-arc", "fetch_time": 1718972298000000000, "content_mime_type": "text/html", "warc_filename": "crawl-data/CC-MAIN-2024-26/segments/1718198862070.5/warc/CC-MAIN-20240621093735-20240621123735-00430.warc.gz", "warc_record_offset": 341475175, "warc_record_length": 40504, "token_count": 929, "char_count": 3843, "score": 3.515625, "int_score": 4, "crawl": "CC-MAIN-2024-26", "snapshot_type": "latest", "language": "en", "language_score": 0.9474822878837585, "file_path": "/sailhome/yjruan/project/latent-lm/data/processed/finemath-4plus/finemath-4plus/train-00019-of-00064.parquet"}