๋ฆฌ์คํธ, ์คํ, ํ ๋ฑ์ ์๋ฃ๋ค์ด ์ง์ ๊ณผ ๊ฐ์ด ๋์ด๋์ด ์๋ ์ ํ ์๋ฃ ๊ตฌ์กฐ(linear data structure)์ด๋ค. ์ด๋ฐ ์๋ฃ๊ตฌ์กฐ๋ ๊ณ์ธต ๊ด๊ณ๋ฅผ ํํํ๊ธฐ์ ์ ํฉํ์ง ์๋ค. ํธ๋ฆฌ(tree)๋ ์กฐ์๊ณผ ์์, ์ ์ฒด์ ๋ถ๋ถ, ์ปดํจํฐ์ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ ๋ฑ์ ๊ณ์ธต์ ์ธ ์๋ฃ๋ฅผ ํํํ๋๋ฐ ์ด์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ํธ๋ฆฌ(Tree) ์๋ฃ๊ตฌ์กฐ ๐ก ํธ๋ฆฌ์ ๊ด๋ จ๋ ์ฉ์ด ๋ ธ๋(node): ํธ๋ฆฌ์ ๊ตฌ์ฑ ์์ ๋ฃจํธ(root) ๋ ธ๋: ๊ณ์ธต ๊ตฌ์กฐ์์ ๊ฐ์ฅ ๋์ ๊ณณ์ ์๋ ๋ ธ๋ ์๋ธ ํธ๋ฆฌ(subtree): ํธ๋ฆฌ์์ ๋ฃจํธ ๋ ธ๋๋ฅผ ์ ์ธํ ๋ ธ๋๋ค ๊ฐ์ (edge): ๋ฃจํธ์ ์๋ธ ํธ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ๋ ์ ๋จ๋ง ๋ ธ๋(terminal node/leaf node): ์์ ๋ ธ๋๊ฐ ์๋ ๋ ธ๋ ๋น๋จ๋ง ๋ ธ๋(nonterminal node): ์์ ๋ ธ๋๊ฐ ์๋ ..