์๋ฃ๊ตฌ์กฐ
์๋ฃ๊ตฌ์กฐ: ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ(Recursive Algorithms) ๊ธฐ์ด, ์์ฉ
์๋ฃ๊ตฌ์กฐ: ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ(Recursive Algorithms) ๊ธฐ์ด, ์์ฉ
2020.04.20์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ(Recursive algorithms) - ๊ธฐ์ด ์ฌ๊ท ํจ์๋? ํ๋์ ํจ์์์ ์์ ์ ๋ค์ ํธ์ถํ์ฌ ์์
์ ์ํ ๋ง์ ์ข
๋ฅ์ ๋ฌธ์ ๊ฐ ์ฌ๊ท์ ์ผ๋ก ํด๊ฒฐ ๊ฐ๋ฅ ์ด์ง ํธ๋ฆฌ(Binary trees) ์์ฐ์์ ํฉ ๊ตฌํ๊ธฐ ์ข
๊ฒฐ ์กฐ๊ฑด(trivial case)์ด ๋งค์ฐ ์ค์ํจ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋ ์ธก๋ฉด๊ณผ ํจ์จ์ฑ ์ธก๋ฉด ํผ๋ณด๋์น ์์ด ํผ๋ณด๋์น ์์ด ์ฌ๊ท์ ๋ฐฉ๋ฒ def fibonacci(x): if x == 0: return 0 elif x == 1: return 1 else: return fibonacci(x-1) + fibonacci(x-2) ๋ฌธ์ ์ค๋ช
์์ ํผ๋ณด๋์น ์์ด์ ๋ํ ์ ์๊ฐ ์ฃผ์ด์ก๊ณ , ์ฌ๋ฌ ๋ฒ ์์ฑํด๋ณธ ์ ์ด ์๋ ์ฝ๋๋ผ์ ์์ฑํ๋ ๋ฐ ํฐ ์ด๋ ค์์ ๋๋ผ์ง ์์๋ค. ๊ทธ๋๋ ์ฌ๋ฌ ๋ฒ์ ..
์๋ฃ๊ตฌ์กฐ: ํธ๋ฆฌ(Tree)
์๋ฃ๊ตฌ์กฐ: ํธ๋ฆฌ(Tree)
2020.02.05ํธ๋ฆฌ Tree ์ ์ node๊ณผ ๊ฐ์ edge๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ์ ๋ฐฐ์น ํํ๋ฅผ ์ถ์ํํ ์๋ฃ๊ตฌ์กฐ 1:n ๊ด๊ณ์ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ ๊ณ์ธต ๊ด๊ณ๋ก ๋ง๋ค์ด์ง ๊ณ์ธตํ ์๋ฃ๊ตฌ์กฐ root node ํธ๋ฆฌ์์ ์ต์์ ๋
ธ๋ leaf node ์์ ๋
ธ๋๊ฐ ์๋ ๋
ธ๋ internal node leaf node๊ฐ ์๋ ๋
ธ๋ parent node ๋
ธ๋ A๊ฐ ๋
ธ๋ B๋ฅผ ๊ฐ๋ฆฌํฌ ๋ A๋ฅผ B์ ๋ถ๋ชจ ๋
ธ๋๋ผ๊ณ ํจ ^์ฐธ์กฐ child node B๋ฅผ A์ ์์ ๋
ธ๋๋ผ๊ณ ํจ ^์ฐธ์กฐ sibling ๋์ผํ ๋ถ๋ชจ๋ฅผ ๊ฐ๋ ํ์ ๋
ธ๋ ancestor ๋ถ๋ชจ์ ๋ถ๋ชจ(...์ ๋ถ๋ชจ์) ๋
ธ๋ descendant ์์์ ์์(...์ ์์์) ๋
ธ๋ ๋
ธ๋์ ์์ค Level root node๋ level 0 root node๋ก ๋ถํฐ ํด๋น ๋
ธ๋๊น์ง ๊ฑฐ์น๋ ๊ฐ์ ์ ๊ฐฏ์ ํธ๋ฆฌ..