๋ฐ˜์‘ํ˜•

swift bfs ๊ตฌํ˜„ 1

[Swift] BFS(Breadth-First Search, ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰( BFS, Breadth-First Search )์ด๋ž€? ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์€ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋“ค์„ ์šฐ์„ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์ด๋ฏธ์ง€์— ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ BFS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ž์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋ถ€ํ„ฐ ํ™•์ธํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 1์„ ๊ฐ€์žฅ ๋จผ์ € ํƒ์ƒ‰ํ•˜๊ณ  ๋‚˜๋ฉด ์ธ์ ‘ํ•œ 8, 5, 2๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ 6๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ 9๊นŒ์ง€ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•˜๊ฒ ์ฃ ? ์ฆ‰, ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์žˆ๋Š” ๋…ธ๋“œ๋“ค๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ 8๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋“  2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜ ๋“  ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ์ ์€ ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ์ „๋ถ€ ํƒ์ƒ‰ํ•˜๊ณ  ๋‹ค์Œ ๋ ˆ๋ฒจ๋กœ ๋„˜์–ด๊ฐ„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. โœ”๏ธŽ Swift๋กœ ๊ตฌํ˜„ํ•ด ๋ณด๊ธฐ ์œ„์˜ ์ด๋ฏธ์ง€์— ์žˆ๋Š” ๊ทธ๋ž˜ํ”„..

๋ฐ˜์‘ํ˜•