Academic Citation for components() algorithm

What algorithm is used to implement components(), which returns the set of connected components If one were providing a citation to the algorithm used for this calculation, where would one cite?

The paper below seems to be the first and/or most common algorithm, but I wasn’t sure. Let me know if anyone knows.

Hopcroft, J.; Tarjan, R. (1973), “Algorithm 447: efficient algorithms for graph manipulation”, Communications of the ACM, 16 (6): 372–378, doi:10.1145/362248.362272

You can find the source code here:

It looks to be doing a BFS. Do note that there is no guarantee that the details of the algorithm that igraph uses will not be changed in future versions.

If you used igraph for your work, please do cite igraph. See igraph Reference Manual

That said, finding connected components in an undirected graph is a fairly trivial operation whose solution is well known. You will find a description in any introductory graph theory or computer science textbook. Trying to find the very first treatment of this problem is rather misguided, unless you are doing research in the history of mathematics.

If you are writing for an audience whose members are unlikely to have much mathematical knowledge, do them a favour and cite a modern and accessible introductory textbook with an easy to understand description.