![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddlUGm%2Fbtq99mFGEnj%2FL75hFGuV77NwshA53IdCBK%2Fimg.png)
๋ฌธ์ ์์ ์ด์ง ํธ๋ฆฌ ๋๋ก ๋คํธ์ํฌ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ BOJ ๋๋ผ๋ ๋์์ ๋ ๋์๋ฅผ ์ฐ๊ฒฐํ๋ ๋๋ก๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ๋ ์์ ์ด์ง ํธ๋ฆฌ์ ํํ๋ฅผ ๊ฐ์ง๋ค. ์๋น์ด๋ BOJ ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ ํธ๋ฆฌ์ ๋์ด H๋ฅผ ์๊ณ ์๋ค. ํธ๋ฆฌ์ ๋์ด๋ฅผ ์๋ค๋ฉด, ๋์์ ๊ฐ์์ ๋๋ก์ ๊ฐ์๋ ๊ตฌํ ์ ์๋ค. ํธ๋ฆฌ์ ๋์ด๊ฐ H์ธ ๊ฒฝ์ฐ์ ๋์์ ๊ฐ์๋ 2(H+1)-1๊ฐ ์ด๊ณ , ๋๋ก์ ๊ฐ์๋ 2(H+1)-2๊ฐ๊ฐ ๋๋ค. ์๋ ๊ทธ๋ฆผ์ H = 2์ผ ๋, ๊ทธ๋ฆผ์ด๋ค. ์๋น์ด๋ ๋๋ก ๋คํธ์ํฌ์ ์ฐจ๋ฅผ ๋ณด๋ด๋ ค๊ณ ํ๋ค. ๋ชจ๋ ์ฐจ๋ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ์์ผ๋ฉฐ, ๊ฐ์ ๋์๋ฅผ ๋ ๋ฒ ์ด์ ๋ฐฉ๋ฌธํ์ง ์๋๋ค. ์ฐจ์ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ๊ฐ์ ์๋ ์๋ค. ๋ชจ๋ ๋์๋ฅผ ๋ฐฉ๋ฌธํ ์ฐจ์ ๊ฐ์๊ฐ ๋ชจ๋ 1๊ฐ๊ฐ ๋๊ธฐ ์ํด์, ์๋น์ด๊ฐ ์ฐจ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmiIaW%2Fbtq9kPv3bnh%2FCkKzKGfAvxqSvhaFgqh0p1%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 2 ๋ฌธ์ ์ด์ง ํ์ ํธ๋ฆฌ ๋ณต์ํ๊ธฐ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ 1๋ถํฐ N๊น์ง์ ๋ชจ๋ ์ ์๋ฅผ ํ ๋ฒ์ฉ ํฌํจํ๊ณ ์๋ ์์ด A1, A2, ..., AN์ด ์๋ค. ๊ฐ์ด A1์ธ ๋ ธ๋๋ฅผ ๋ฃจํธ๋ก ํ๋ ํธ๋ฆฌ์ A2, A3, ..., AN ์ ์์๋๋ก ์ฝ์ ํ๋ ค ํ๋ค. N-1๊ฐ์ ๋ ธ๋๋ฅผ ์ฝ์ ํ ๋๋ง๋ค ๋ฃจํธ์์ ๊ทธ ๋ ธ๋์ ๋๋ฌํ๊ธฐ ์ํด ๊ฑฐ์ณ์ผ ํ๋ ๊ฐ์ ์ ์, ์ฆ ๋ ธ๋์ ๊น์ด๊ฐ ์ฃผ์ด์ง ๋ A1, A2, ..., AN์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ์ด ๊ฐ ๋ฐ์ผ๋ฉด์ 2N(n-1)children.size() > 0) { // ์ผ์ชฝ ์์ ์กด์ฌ Inorder(head->children[0]); } result[head->index] = idx++; if (head->children.size() > 1) { // ์ค๋ฅธ์ชฝ ์์ ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTauNe%2Fbtq9iBLL1kc%2FshZME8jRou7pDud79eH3tk%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 3 ๋ฌธ์ ใทใทใทใ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ ์ ์ด ๋ค ๊ฐ ์ด์ ์๋ ์์์ ํธ๋ฆฌ์ ๋ํด, ๊ทธ ํธ๋ฆฌ์์ ์ ์ ๋ค ๊ฐ๋ก ์ด๋ฃจ์ด์ง ์งํฉ์ ๊ณ ๋ฅด์. ์ ์ฒด ํธ๋ฆฌ์ ๊ฐ์ ๋ค ์ค ์งํฉ์ ์ํ ๋ ์ ์ ์ ์๋ ๊ฐ์ ๋ง์ ๋จ๊ฒผ์ ๋, ๋ค ๊ฐ์ ์ ์ ์ด ํ๋์ ํธ๋ฆฌ ํํ๋ก ์ด์ด์ง๊ฒ ๋๋ค๋ฉด ‘ใท’ ๋ชจ์์ด๊ฑฐ๋ ‘ใ ’ ๋ชจ์์ผ ๊ฒ์ด๋ค. ํธ๋ฆฌ์์ ‘ใท’์ ๊ฐ์์ ‘ใ ’์ ๊ฐ์๋ฅผ ๊ฐ๊ฐ ํธ๋ฆฌ์์ ‘ใท’ ๋ชจ์, ‘ใ ’ ๋ชจ์์ ์ด๋ฃจ๋ ์ ์ ๋ค ๊ฐ์ง๋ฆฌ ์งํฉ์ ๊ฐ์๋ผ๊ณ ํ์. ์ด์ , ๋ํ์ด๋ ์ธ์์ ๋ชจ๋ ํธ๋ฆฌ๋ฅผ ๋ค์๊ณผ ๊ฐ์ ์ธ ์ข ๋ฅ๋ก ๋๋์๋ค. D-ํธ๋ฆฌ : ‘ใท’์ด ‘ใ ’์ 3๋ฐฐ๋ณด๋ค ๋ง์ ํธ๋ฆฌ G-ํธ๋ฆฌ : ‘ใท’์ด ‘ใ ’์ 3๋ฐฐ๋ณด๋ค ์ ์ ํธ๋ฆฌ DUDUDUNGA-ํธ๋ฆฌ : ‘ใท’์ด ‘ใ ’์ ์ ํํ 3๋ฐฐ๋งํผ ์๋ ํธ๋ฆฌ ์ ์ด ๋ ๋ํ์ด๋ ํธ๋ฆฌ๋ง ๋ณด..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8oyKK%2Fbtq8H4AnsGe%2FrXTk4t40XxjLq1wD81s6Z0%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : 20๋ถ ๋ฌธ์ ์ ํ๋ฒํธ ๋ชฉ๋ก ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ฃผ์ด์ง๋ค. ์ด๋, ์ด ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ด ์๋์ง ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ ์ ์งํ๋ ค๋ฉด, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์ ๊ธด๊ธ์ ํ: 911 ์๊ทผ: 97 625 999 ์ ์: 91 12 54 26 ์ด ๊ฒฝ์ฐ์ ์ ์์ด์๊ฒ ์ ํ๋ฅผ ๊ฑธ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ ํ๊ธฐ๋ฅผ ๋ค๊ณ ์ ์์ด ๋ฒํธ์ ์ฒ์ ์ธ ์๋ฆฌ๋ฅผ ๋๋ฅด๋ ์๊ฐ ๋ฐ๋ก ๊ธด๊ธ์ ํ๊ฐ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์, ์ด ๋ชฉ๋ก์ ์ผ๊ด์ฑ์ด ์๋ ๋ชฉ๋ก์ด๋ค. ํ์ด b+tree ์ฌ์ฉ ์ฝ๋ #include #include #include #include using namespace ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvv7Zg%2FbtqI9HbRGZA%2FeF0CHCeFb0hxyIcfrf8Rt1%2Fimg.png)
MST Spanning Tree : ๊ทธ๋ํ ๋ด์ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ ์ฐ์ ํธ๋ฆฌ์ ์ ์๋ connected undirected acyclic graph (์ฐ๊ฒฐ ๋น๋ฐฉํฅ ๋น์ํ ๊ทธ๋ํ)์ด๋ค. ๋ชจ๋ ๋ ธ๋๋ ์ฐ๊ฒฐ๋์ด์์ผ๋ฉฐ, ๋ฐฉํฅ์ฑ์ ์๊ณ ์ํ์ด ์กด์ฌํ์ง ์๋ ๊ทธ๋ํ์ด๋ค. ํ๋์ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ๋ํ ๋ด์์ ์ฌ๋ฌ ํธ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์๋ค. ๊ทธ ์ค ํน๋ณํ๊ฒ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ๋ฅผ Spanning Tree๋ผ๊ณ ํ๋ค. ๋ค๋ฅด๊ฒ ๋งํ๋ฉด Spanning tree(์ ์ฅ ํธ๋ฆฌ)๋ ๊ทธ๋ํ์ ๋ถ๋ถ ๊ทธ๋ํ๋ฉด์ ๊ฐ์ ์ ์๊ฐ ๊ฐ์ฅ ์ ์(์ต์ ์ฐ๊ฒฐ) ๊ทธ๋ํ์ด๋ค. ๊ฐ์ด ์์จ๋ค๋ฉด ๊ทธ๋ฆผ์ผ๋ก ์ดํด๋ณด์. ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์ํ์ ๊ฐ์ ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ๋ถ๋ถ ๊ทธ๋ํ๊ฐ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ค. ์ด ๋ถ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPqYhK%2FbtqCFx9FvGs%2FhTnIcwDGrurwwTwMeyxyI0%2Fimg.png)
์ธ๊ทธ๋จผํธ ํธ๋ฆฌ https://www.acmicpc.net/blog/view/9 ๋ฐฑ์ค๋ ๊ธ ๋ฐฐ์ด ํฌ๊ธฐ ๊ฒฐ์ ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ C++์ ๊ฒฝ์ฐ, vector ์๋ฃํ์ ์ฌ์ฉํ๋๋ฐ python์ผ๋ก ๊ตฌํํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ค๊ณ ํ๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ผ๋ง๋ ๋์ด์ผ ํ ์ง ๊ฐ๋ ํ๊ธฐ ์ํด ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํด๋ณด์. 2์ ์ ๊ณฑ ์๊ฐ ๋ฆฌํ ๋ ธ๋์ ์(n)๋ก ์ฃผ์ด์ง๋ค๋ฉด ( ๋ถ์ํด์ผํ data ๊ฐฏ์๊ฐ 2์ ์ ๊ณฑ ์๋ผ๋ฉด ) ๊ฐ ๋จ๊ณ๋ง๋ค 1/2์ฉ ์ค์ด๋๊ฐ๋ฏ๋ก log(n)์ด ํ์ํ ์ด ๋จ๊ณ(ํ์ดํ)๊ฐ ๋๊ณ ์ ์ฒด ์ธต์ ๊ฐฏ์, ์ฆ ๋์ด(h)๋ log(n)+1์ด ๋๋ค. ์ต์์ ๋ ธ๋๋ถํฐ 2^(0)๊ฐ์ ๋ ธ๋๋ก ์์ํ์ฌ ์ธต์ด ์ฆ๊ฐํ ์๋ก 2์ ์ง์ ๋ํ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฝ์ฐฌ ์ด์ค ํธ๋ฆฌ(full binary tree)์ ์ด ๋ ธ๋ ..
Comment