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. ์ด์ 1 2 ๋ค์ 728x90