์ด๋ฏธ ์ง๋์จ ์ด๋ฆฐ ๋
ธ๋๋ฅผ ๋ฐ๋ผ์ ๋ค์ ์์ด์คํ๋ก ๋์๊ฐ ๋ค์, ์ด๋ฏธ ํ ๋ฒ ์ง๋์จ ์ด๋ฆฐ ๋
ธ๋๋ ๋ซํ ๋
ธ๋์ ๋ฃ์ด๋ฒ๋ฆฌ๋ฉด ๋๋ ๊ฑฐ์?
๋ง๋ค๋ฅธ ๊ธธ ๋๋ฌํ์ ๋์ ์์ ๋ ์ค๋ช ์ด ์์ด์ ์ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ํน์ ์๋ ค์ค ์ธ๋ถ์ด ์๋ใ ใ
๋ง๋ค๋ฅธ ๊ธธ ๋๋ฌํ์ ๋์ ์์ ๋ ์ค๋ช ์ด ์์ด์ ์ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ํน์ ์๋ ค์ค ์ธ๋ถ์ด ์๋ใ ใ
- dc official App
๊ทธ๋ฅ ๋ ธ๋์ isVisible ํด๋๊ณ ๋ฐฉ๋ฌธํ์ผ๋ฉด ์ฒดํฌํ์ .
๋๋ ๋ฑํ ๋ง๋ค๋ฅธ ๊ธธ์ ์ฒ๋ฆฌํ์ง ์์๊ณ ๋ ธ๋๋ฅผ ํ์ํ ๋ ์ข๋ ๊ฐ๊น์ธ๊ฒ ๊ฐ์ ๋ ธ๋๋ฅผ ์ฐ์ ์์๋ฅผ ์ฃผ๊ณ ์ผ๋จ ๊ฒฝ๋ก๊ฐ ์ฐพ์์ง๋ฉด ํด๋น ๊ฒฝ๋ก์ ๊ธธ์ด๋ณด๋ค ๊ธธ์ด์ง๋ ๋ ธ๋๋ ํ์์ ์๋ตํ๋ ๋ฐฉ์์ผ๋ก ํ์์. ๊ทธ๋ฆฌ๊ณ ์ต๋จ ๊ฑฐ๋ฆฌ ๋ณด๋ค๋ ์ ๋นํ ๊ธธ์ด์ ๊ฒฝ๋ก๊ฐ ํ์๋๋ฉด ์ค๋จ.(ํด๋ฆฌ์คํฑ)
์ฒจ๋ถํฐ Astar ๋ง๋ค์ง๋ง๊ณ ๋๋น์ฐ์ ํ์๋ถํฐ ํด๋ด. ๋๋น์ฐ์ ํ์์ผ๋ก ๊ธธ์ฐพ๊ธฐ ํด๋ณด๊ณ , ๊ฑฐ๊ธฐ์ ์ฝ๊ฐ๋ง ์์ ํ๋ฉด๋จ. ๋๋น์ฐ์ ํ์์ Queue๋ฅผ ์ฐ๊ณ Astar๋ ์ฐ์ ์์ํ๋ฅผ ์ฐ๋ฉด๋จ. ์ฐ์ ์์ ๊ธฐ์ค์? ์์๋น์ฉ (ํด๋ฆฌ์คํฑ)์
Node StartNode; Node EndNode; NodeQueue.push(StartNode); while( !NodeQueue.empty() ) { Node nowNode = NodeQueue.pop(); if( nowNode.isVisible == true ) continue; for( int i = 0; i < nowNode.nextNode.Lenght; i++ ) { if(nowNode.nextNode[i] == null ) continue; NodeQueue.push(nowNode.nextNode[i]); nowNode.nextNode[i].isVisible = true; } }
๋์ถฉ ๋๋น์ฐ์ ํ์ ์๋์ฝ๋..
https://www.youtube.com/watch?v=pKnV6ViDpAI
์ด๋ฆฐ ๋ ธ๋๋ ๋ซํ ๋ ธ๋๋ ์ฒ์์ผ๋ก ๋์๊ฐ๊ณ ๊ทธ๋ฐ๊ฑฐ ํ ํ์์์ด ์์ฐ์ค๋ฝ๊ฒ ์ต์ฐ์ ์ ์ด๋ฆฐ ๋ ธ๋์์ ์ฌํ์์ ํจ
๋ต๋ณ ๊ฐ์ฌํจ๋ฏธ๋ค - dc App