Graph
Last updated
Last updated
A Graph consists of a finite set of vertices (or nodes) and set of Edges which connect a pair of nodes.
Mathematical graphs can be represented in data structure. We can represent a graph using an array of vertices and a two-dimensional array of edges. Before we proceed further, let's familiarize ourselves with some important terms
Vertex ( Node )
: Each node of the graph is represented as a vertex. In the following example, the labeled circle represents vertices. Thus, A to G are vertices. We can represent them using an array as shown in the following image. Here A can be identified by index 0. B can be identified using index 1 and so on.
Edge
: represents a path between two vertices or a line between two vertices. In the following example, the lines from A to B, B to C, and so on represents edges. We can use a two-dimensional array to represent an array as shown in the following image. Here AB can be represented as 1 at row 0, column 1, BC as 1 at row 1, column 2 and so on, keeping other combinations as 0.
Adjacency
: Two node or vertices are adjacent if they are connected to each other through an edge. In the following example, B is adjacent to A, C is adjacent to B, and so on.
Path
: Path represents a sequence of edges between the two vertices. In the following example, ABCD represents a path from A to D.
Reference terms
์์ง๊น์ง ํ์ํด๋ณธ์ ์ด ์์
์ ์ ์ ์ฐจ์ ( Degree ): ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์์ ํ๋์ ์ ์ ์ ์ธ์ ํ ์ ์ ์ ์
์ง์ ์ฐจ์ ( In-Degree ): ๋ฐฉํฅ ๊ทธ๋ํ์์ ์ธ๋ถ์์ ์ค๋ ๊ฐ์ ์ ์
์ง์ถ ์ฐจ์ ( Out-Degree ): ๋ฐฉํฅ ๊ทธ๋ํ์์ ์ธ๋ถ๋ก ํฅํ๋ ๊ฐ์ ์ ์
๊ฒฝ๋ก ๊ธธ์ด ( Path Length ): ๊ฒฝ๋ก๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ฌ์ฉ๋ ๊ฐ์ ์ ์
๋จ์ ๊ฒฝ๋ก ( Simple Path ): ์ฒ์ ์ ์ ๊ณผ ๋ ์ ์ ์ ์ ์ธํ๊ณ ์ค๋ณต๋ ์ ์ ์ด ์๋ ๊ฒฝ๋ก
์ฌ์ดํด ( Cycle ): ๋จ์ ๊ฒฝ๋ก์ ์์ ์ ์ ๊ณผ ์ข ๋ฃ ์ ์ ์ด ๋์ผํ ๊ฒฝ์ฐ