๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ’ก/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]๊ฒŒ์ž„ ๋งต ์ตœ๋‹จ๊ฑฐ๋ฆฌ.py (BFS)

by @ENFJ 2024. 10. 1.

BFS๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด

1. BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰) ๋Š” ๋จผ์ € ์‹œ์ž‘์ ์—์„œ ์ธ์ ‘ํ•œ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•œ ํ›„, ๊ทธ ๋‹ค์Œ์œผ๋กœ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

2. BFS๋Š” FIFO(First in First Out) ๋ฐฉ์‹์˜ ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

3. ๊ฐ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด์„œ, ํ•ด๋‹น ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

 

ํ’€์ด ๊ณผ์ •

1. ํ๋ฅผ ์ด์šฉํ•˜์—ฌ BFS ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

2. ์‹œ์ž‘์ ๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•˜๊ณ , ๋„ค ๋ฐฉํ–ฅ(์ƒ, ํ•˜ , ์ขŒ, ์šฐ)์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

3. ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ผ ๊ฒฝ์šฐ(1), ๊ทธ๊ณณ์„ ๋ฐฉ๋ฌธํ•˜๊ณ , ํ˜„์žฌ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ์—์„œ 1์„ ๋”ํ•˜์—ฌ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

4. ๋์ ์— ๋„๋‹ฌํ•˜๋ฉด ๊ทธ๋•Œ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

5. ๋์ ์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์œผ๋ฉด -1 ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.