๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

Algorithm21

[TIL] Algorithm - ์ •๋ ฌ3 + git ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ 1. ๋ณ‘ํ•ฉ ์ •๋ ฌ(merge sort) ๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„๊ณผ ๋’ท๋ถ€๋ถ„์˜ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ๊ฐ ์ •๋ ฌํ•œ ํ›„ ๋ณ‘ํ•ฉํ•˜๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ # ๋ณ‘ํ•ฉ ์ •๋ ฌ ๊ตฌํ˜„ def merge_sort(list) : # ์žฌ๊ท€์ ์œผ๋กœ ์‹คํ–‰ํ•  ํ•จ์ˆ˜ def _merge_sort(list, left, right) : if left < right : middle = (left + right) // 2 _merge_sort(list, left, middle) # ๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„ ์ •๋ ฌ _merge_sort(list, middle+1, right) # ๋ฐฐ์—ด์˜ ๋’ท๋ถ€๋ถ„ ์ •๋ ฌ ''' ์•ž์—์„œ ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐฐ์—ด 2๊ฐœ๋ฅผ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜๋“ค p : ํ˜„์žฌ buff๊ฐ€ ์ฑ„์›Œ์ ธ ์žˆ๋Š” ์ •๋„๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜ / ์ฆ‰, buff[p-1]๊นŒ์ง€ ์ฑ„์›Œ์ ธ์žˆ๋‹ค. j : ๋ณ‘ํ•ฉํ•  .. 2023. 4. 10.
[TIL] Algorithm - ์ •๋ ฌ2 1. ์‹œ๊ฐ„ ๋ณต์žก๋„ ํŠน์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ Big-O(๋น…-์˜ค) ํ‘œ๊ธฐ๋ฒ• : ์ตœ์•…์˜ ๊ฒฝ์šฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹ Big-O description $$ O\left ( 1 \right ) $$ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ์ƒ๊ด€์—†์ด ์–ธ์ œ๋‚˜ ์ผ์ •ํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. $$ O\left ( log_{2}n \right ) $$ ์ž…๋ ฅ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์ฒ˜๋ฆฌ์‹œ๊ฐ„์ด ๋กœ๊ทธ๋งŒํผ ์งง์•„์ง„๋‹ค. $$ O\left ( n \right ) $$ ์ž…๋ ฅ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ๋น„๋ก€ํ•˜์—ฌ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•œ๋‹ค. $$ O\left ( n log_{2}n \right ) $$ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๋กœ๊ทธ๋ฐฐ ๋ฐฐ๋งŒํผ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•œ๋‹ค. $$ O\left ( n^{2} \right ) $$ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๊ธ‰์ˆ˜์ ์œผ๋กœ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•œ๋‹ค. $$ O\left.. 2023. 4. 9.
[TIL] Algorithm - ์ •๋ ฌ โฐ 2023.04.08 โฐ 1. Sorting key ๋ฅผ ํ•ญ๋ชฉ ๊ฐ’์˜ ๋Œ€์†Œ ๊ด€๊ณ„์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ์ผ์ •ํ•œ ์ˆœ์„œ๋กœ ๋ฐ”๊พธ์–ด ๋Š˜์–ด๋†“๋Š” ์ž‘์—… ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜, ์„ ํƒ, ์‚ฝ์ž…ํ•˜๋ฉด์„œ ์ •๋ ฌ์„ ์™„๋ฃŒํ•œ๋‹ค. โ˜… ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์•ˆ์ „์„ฑ โ˜… ๊ฐ’์ด ๊ฐ™์€ ์›์†Œ์˜ ์ˆœ์„œ๋Š” ์ •๋ ฌํ•œ ํ›„์—๋„ ์œ ์ง€๋˜๋ฉด ์•ˆ์ •์ ์ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์•ˆ์ •์ ์ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฒ„๋ธ” ์ •๋ ฌ, ์‚ฝ์ž… ์ •๋ ฌ, ๋ณ‘ํ•ฉ ์ •๋ ฌ, ๋„์ˆ˜ ์ •๋ ฌ(๊ณ„์ˆ˜ ์ •๋ ฌ) ์•ˆ์ •์ ์ด์ง€ ์•Š๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ ์ •๋ ฌ, ํ€ต ์ •๋ ฌ, ํž™ ์ •๋ ฌ, 2. ๋ฒ„๋ธ” ์ •๋ ฌ(bubble sort) ์ด์›ƒํ•œ ๋‘ ์›์†Œ์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ๊ตํ™˜์„ ๋ฐ˜๋ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ( = ๋‹จ์ˆœ ๊ตํ™˜ ์ •๋ ฌ ) ์‹œ๊ฐ„๋ณต์žก๋„ O(n^2) 1. ๊ธฐ๋ณธ ๊ตฌํ˜„ # ๊ธฐ๋ณธ ๋ฒ„๋ธ” ์ •๋ ฌ def bubble_sort(list) : n = len(list).. 2023. 4. 8.
728x90