๋ง์ฐ์ค ํด๋ฆญ์ผ๋ก ์ด๋์ํค๊ฒ ํ ๋ ค๊ณ
a*์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ธธ์ฐพ๋ ํจ์ ๋ง๋ค์ด ๋ดค๋๋ฐ
๋งต ํฌ๊ธฐ๋ฅผย 1000x1000์ผ๋ก ํ๊ณ ,ย ๋งตย ๋์์ ๋ ๋๋ฅด๋ ๋๋ฌด ์ค๋๊ฑธ๋ฆผ
๊ทธ๋ฅ ๋ง์ฐ์ค ํด๋ฆญ์ผ๋ก ์ด๋ํ๋๊ฑธ ํฌ๊ธฐํด์ผ ํ๋ ์์
1) ์ ๋ ๋น์ทํ ์ํฉ์์ ๋ฏธ๋ฆฌ ๊ฐ ์ขํ๋ณ๋ก ๋ค๋ฅธ ์ขํ์ ๋ํ ๋ฃจํธ๋ฅผ ๋ฏธ๋ฆฌ ํ๋ฒํ ๊ณ์ฐํด๋๊ณ ๊ทธ๊ฑธ ๋ค์ ๊ณ์ฐํ์ง ์๊ณ ๊บผ๋ด์ฐ๋ ์์ผ๋ก ํ์ต๋๋ค 2) ๋ง์ฝ์ ์ค๊ฐ์ ์ฅ์ ๋ฌผ์ด ์ ๋์ ์ผ๋ก ๋ฐ๋๋ ์ํฉ์ด๋ผ๋ฉด, ๊ทธ๋ ๊ฒ ํ๋ฉด ์ ๋๊ฒ ๋ค์ 3) ์ค๊ฐ์ ์งํ์ง๋ฌผ์ด ๊ฐ๋์ฉ๋ง ๋ฐ๋๋ ์ํฉ์ด๋ผ๋ฉด, ์งํ์ง๋ฌผ์ด ๋ฐ๋ ๋ ๊ณ์ฐ์ ๋ค์ ํด์ฃผ๋ ์์ผ๋ก ํ๋ฉด ๋ ๊ฒ ๊ฐ์์ ์ด๋ ๊ฒ๋ ์ด๋จ๊น์?
1) ์ฒ์ ๊ณ์ฐ ์์ฒด๊ฐ ๋๋ฌด ๋๋ ค์ ์ ๋ํฐ๊ฐ ์ ๊น ๋ฉ์ถ๋ ์์ค์ธ๋ฐ ํจ์๋ฅผ ์๋ชป์ง ๊ฑธ๊น์? ์๋๋ฉด ๋ปฅ๋ซ๋ฆฐ ์งํ์ด๋ผ ์ค๋๊ฑธ๋ฆฌ๋ ๊ฑธ๊น์?
์ผ๋จ 1์นธ 1์นธ ๋ ธ๋๋ฅผ ์ง๋๋ฐ 1000x1000๋งํผ์ ๋ฃจํธ ๋ ธ๋๊ฐ ์ง์ฌ์ง
์...... ์ผ๋จ ์ ๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ^^; ๊ทธ๋ฌ๋ฉด ๋ค์ ๋ถ๊ป ํ ์ค!!
ํฌ๊ธฐ 1000x1000์ ๋๋ ์๋์ง๋ง ๋๋ ์ง์ ๋ง๋ a* ๋๋ฌด ์ค๋๊ฑธ๋ ค์ ๊ณ ๋ฏผํด๋ณธ ๊ฒฐ๊ณผ ๋ฉํฐ ์ฐ๋ ๋๋ฅผ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ์ํด JobSystem ์ ์ฉํด๋ดค๋๋ฐ ํ๋ ์ ๋จ์๋ก a*๋ฅผ ๋๋ ค๋ ๋ฌด๋ํ ์ ๋๋ก ์์ฒญ ๋นจ๋ผ์ก์.
๋ฉํฐ ์ฐ๋ ๋๋ ๋ด๋น๋ผ ๋ฌด์์์ ์์ง ๋ชป๊ฑด๋๋ฆฌ๊ณ ์์ ใ
JobSystem ์ ๋๋ก ๋นจ๋ผ์ง์ง๋ ์์์ง๋ง openList์ List๋ง๊ณ PriorityQueue๋ก ๋ฐ๊พธ๊ณ ClosedList๋ฅผ hashSet์ผ๋ก ๋ฐ๊ฟ์ ์ฌ์ฉํด๋ดค๋๋ฐ ์ฝ๊ฐ ๋นจ๋ผ์ก์.
heap ์๋ฃ๊ตฌ์กฐ ์ฐ๋ฉด ๋นจ๋ผ์ง๋๋ฐ ๊ตฌํํ์ จ๋์? - dc App
heap ์๋ฃ ๊ตฌ์กฐ ์์ฒด๋ฅผ ๋ชฐ๋์, ๊ณต๋ถํ๊ณ ๊ตฌํํด์ ํด๋ณผ๊ฒ
๋์ ์ธ ์ฅ์ ๋ฌผ์ด์๋๊ณณ๋ง ๋ ธ๋๋ฅผ ๊ฐฑ์ ํด์ ์ฐ์ฐํด๋ณด์ธ์ ์ด๋ ๊ฒํ๋ฉด ์ต์ด๋์์๋ง ์ข ๋๋ฆด๊ฑฐ์์ ๊ทธ๋ฆฌ๊ณ ์ก์์คํ ์ด๋ ๋ฒ์คํธ์ปดํ์ผ๋ฌ๋ํด๋ด์ - dc App
๋ ๊ธฐ์จ ๊ตฌ์กฐ๋ผ๊ณ ์ 1000x1000์ ๊ตฌ์ญ์ผ๋ก ๋๋ ์ ์ชผ๊ฐ์ ๋ค์ ๋ ๊ธฐ์จ์ ๋์ฐฉ ์ ๊ธธ์ฐพ๊ธฐ ์๋ก ํด์ฃผ๊ณ ์ด๋ฐ ๊ตฌ์กฐ๋ฉด ๋จ