๋ชฉ๋ก์ „์ฒด ๊ธ€ (132)

YS's develop story

์ˆœ์ฐจ ํƒ์ƒ‰, ์ด์ง„ ํƒ์ƒ‰ ์ •๋ฆฌ

๐Ÿ‘ฉโ€๐Ÿ’ป ์ˆœ์ฐจ ํƒ์ƒ‰(Sequential Search)๊ณผ ์ด์ง„ ํƒ์ƒ‰(Binary Search) ์ •๋ฆฌ ๐Ÿฅ˜ ์ˆœ์ฐจ ํƒ์ƒ‰(Sequential Search) ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์•ž์—์„œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด์•„์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๐Ÿ€ ์ˆœ์ฐจ ํƒ์ƒ‰ ์ฝ”๋“œ def sequentialSearch(list, search): for index in range(len(list)): if list[index] == search: return True return False โ˜˜๏ธ ์ˆœ์ฐจ ํƒ์ƒ‰ ์‹œ๊ฐ„ ๋ณต์žก๋„ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ฐ’์ด ๋ฆฌ์ŠคํŠธ์˜ ๋งจ ๋งˆ์ง€๋ง‰์— ์žˆ์„ ๋•Œ, ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋งŒํผ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n)์ž…๋‹ˆ๋‹ค. ๐Ÿณ ์ด์ง„ ํƒ์ƒ‰ (Binary Search) ํƒ์ƒ‰ํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํžˆ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„์–ด ํ•œ์ชฝ์—..

Algorithm 2021. 8. 1. 09:18
๋™์  ๊ณ„ํš๋ฒ•๊ณผ ๋ถ„ํ•  ์ •๋ณต ์ •๋ฆฌ

๐Ÿ‘ฉโ€๐Ÿ’ป ๋™์  ๊ณ„ํš๋ฒ•๊ณผ ๋ถ„ํ•  ์ •๋ณต ์ •๋ฆฌ with Python ๐Ÿฅ˜ ๋™์  ๊ณ„ํš๋ฒ• (Dynamic Programming) ๋™์  ๊ณ„ํš๋ฒ•, Dynamic Programming์ด๋ž€? ์ž…๋ ฅ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•œ ํ›„, ํ•ด๋‹น ๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ํ•ด๋ฅผ ํ™œ์šฉํ•ด์„œ, ํฐ ๋ถ€๋ถ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์ตœ์ข…์ ์œผ๋กœ ์ „์ฒด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ƒํ–ฅ์‹ ์ ‘๊ทผ๋ฒ•์œผ๋กœ ๊ฐ€์žฅ ์ตœํ•˜์œ„ ํ•ด๋‹ต์„ ๊ตฌํ•œ ํ›„ ์ด๋ฅผ ์ €์žฅํ•˜๊ณ , ํ•ด๋‹น ๊ฒฐ๊ด๊ฐ’์„ ์ด์šฉํ•ด ์ƒ์œ„ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๊ฐ€๋Š” ๋ฐฉ์‹์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. Memoization ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. Memoization (๋ฉ”๋ชจ์ด์ œ์ด์…˜) : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ์ด์ „์— ๊ณ„์‚ฐํ•œ ๊ฐ’์„ ์ €์žฅํ•˜๋ฉฐ, ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋„๋ก ํ•˜์—ฌ ์ „์ฒด ์‹คํ–‰ ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐค ๋•Œ, ๋ถ€๋ถ„ ๋ฌธ์ œ๋Š” ์ค‘๋ณต๋˜์–ด ์žฌํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ..

Algorithm 2021. 7. 30. 09:48
Graph (๊ทธ๋ž˜ํ”„) ์ •๋ฆฌ

๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป Graph (๊ทธ๋ž˜ํ”„) ์ •๋ฆฌ With Python ๐Ÿฅ Graph ๋ž€? ์‹ค์ œ ์„ธ๊ณ„์˜ ํ˜„์ƒ์ด๋‚˜ ์‚ฌ๋ฌผ์„ Vertex(์ •์ )์™€ Edge(๊ฐ„์„ )๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Vertex : ์œ„์น˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. Node๋ผ๊ณ  ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. Edge : ์œ„์น˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ‘œ์‹œํ•œ ์„ ์ž…๋‹ˆ๋‹ค. Degree : ๋ฐฉํ–ฅ์ด ์—†๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ํ•˜๋‚˜์˜ ์ •์ ์— ์ธ์ ‘ํ•œ ์ •์ ์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค. Simple Path : ์ฒ˜์Œ ์ •์ ๊ณผ ๋ ์ •์ ์„ ์ œ์™ธํ•˜๊ณ  ์ค‘๋ณต๋œ ์ •์ ์ด ์—†๋Š” ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. (A-B-C๋Š” Simple Path) Cycle : Simple Path์˜ ์‹œ์ž‘ ์ •์ ๊ณผ ์ข…๋ฃŒ ์ •์ ์ด ๋™์ผํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๐Ÿ‹ ๊ทธ๋ž˜ํ”„์˜ ์ข…๋ฅ˜ Undirected Graph ๋ฐฉํ–ฅ์ด ์—†๋Š” ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. Edge๋ฅผ ํ†ตํ•ด Vertex ์–‘ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Dire..

Data Structure 2021. 7. 29. 09:19