ํ์คํ ์น๐ ๊ฐ๋ฐ์ ์ง๋ง์ ๐ง๐ฝโ๐ป
โ ์ธ๊ณต์ง๋ฅ ๊ด์ฌ ๐ค
Categories
-
โฃ
โถ COMPUTER_SCIENCE
๐: 7 -
โฃ
โถ WEB
๐: 3 -
โฃ
โถ ETC
๐: 3-
โ
โฃ
ETCS
๐: 10 -
โ
โฃ
SUBBRAIN ๊ฐ๋ฐ๊ธฐ
๐: 5 -
โ
โ
YOS ๊ฐ๋ฐ๊ธฐ
๐: 1
-
โ
โฃ
-
โ
โถ AI
๐: 9-
โฃ
AITOOLS
๐: 3 -
โฃ
CV
๐: 2 -
โฃ
DEEP_LEARNING
๐: 1 -
โฃ
DATA_VIS
๐: 2 -
โฃ
GRAPH
๐: 1 -
โฃ
LIGHTWEIGHT
๐: 1 -
โฃ
MATH
๐: 1 -
โฃ
NLP
๐: 3 -
โ
STRUCTURED_DATA
๐: 2
-
โฃ
์ ๋ ฌ ์ ๋ฆฌ
์ ๋ ฌ ์ ๋ฆฌ
์ ๋ ฌ ๋ฐฉ๋ฒ | ์ต์ | ํ๊ท | ์ต์ | ๊ณต๊ฐ ๋ณต์ก๋ |
---|---|---|---|---|
์ ํ(selection) | $O(n^2)$ | $O(n^2)$ | $O(n^2)$ | $O(n^2)$ |
๋ฒ๋ธ(bubble) | $O(n^2)$ | $O(n^2)$ | $O(n^2)$ | $O(n)$ |
์ฝ์ (insert) | $O(n)$ | $O(n^2)$ | $O(n^2)$ | $O(n^2)$ |
๋ณํฉ(merge) | $O(n\log n)$ | $O(n\log n)$ | $O(n\log n)$ | $O(n\log n)$ |
ํต(quick) | $O(n\log n)$ | $O(n\log n)$ | $O(n^2)$ | $O(n\log n)$ |
ํ(heap) | $O(n\log n)$ | $O(n\log n)$ | $O(n\log n)$ | $O(n)$ |
์(shell) | $O(n^{1.25})$ | $O(n^{1.25})$ | $O(n^{1.25})$ | $O(n)$ |
๊ณ์(counting) | $O(n+k)$ | $O(n+k)$ | $O(n+k)$ | $O(n+k)$ |
์๊ฐ ๋ณต์ก๋ $O(n^2)$
๋ฒ๋ธ ์ ๋ ฌ (Bubble Sort)
๊ตฌํ์ด ์ฝ๋ค๋ ๊ฒ ์ธ์๋ ์๋ฌด๋ฐ ์ฅ์ ์ด ์๋ ์ ๋ ฌ
์ด๋ฏธ ์ ๋ ฌ๋ ์๋ฃ์์ 1๋ฒ๋ง ๋๋ฉด ๋๋ฏ๋ก ์ต์ ์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค($O(n)$), ๋ฐ๋ผ์ ์ค๊ฐ์ ์ ๋ ฌ์ด ํ์ํ ๊ฒฝ์ฐ ๋ฐ๋ก ์ค๋จํ๊ณ ์ ๋ ฌ๋์ง ์์์์ ์๋ฆฌ๋๋ฐ ์ฌ์ฉํ ์ ์๋ค.
BubbleSort(eles[])
for i = 0 to eles[].length-1
for j = 0 to i-1
if eles[j] > eles[j+1]
swap(ele[j], eles[j+1])
return eles[]
์ ํ ์ ๋ ฌ(Selection Sort)
์ธ๊ฐ์ด ๋ฌด์์์ ์ผ๋ก ์ฌ์ฉํ๋ ์ ๋ ฌ 1
๋ณดํต ๋ฒ๋ธ ์ ๋ ฌ ๋ณด๋ค 2๋ฐฐ ์ ๋ ๋น ๋ฅด๋ค.
SelectionSort(eles[])
for i = 0 to eles[].length-2
index = i
for j = i + 1 to eles[].length-1
if eles[index] > eles[j]
index = j
swap(eles[index], elses[i])
return eles[]
์ฝ์ ์ ๋ ฌ(Insertion Sort)
์ธ๊ฐ์ด ๋ฌด์์์ ์ผ๋ก ์ฌ์ฉํ๋ ์ ๋ ฌ 2
- ํ์ ์ด์ธ์ ์ค๋ฒํค๋๊ฐ ์ ์ด ์ด๋ฏธ ์ ๋ ฌ๋์ด ์๋ ์๋ฃ๊ตฌ์กฐ์์ ์๋ฃ๋ฅผ ํ๋์ฉ ์ฝ์ , ์ ๊ฑฐํ ๋ ์ข๋ค.
- ๋ฐฐ์ด์ด ์์ ๊ฒฝ์ฐ์๋ ๋ฐ์ด๋ด๊ธฐ ๋ถ๋ถ์ ์ค๋ฒํค๋๊ฐ ์ ์ผ๋ฏ๋ก ์ ๋งํ ์๊ณ ๋ฆฌ์ฆ๋ณด๋ค ์ข๋ค.
InsertionSort(eles[])
for i = 1 to eles[].length-1
j = i - 1
key = eles[i]
while eles[j] > key and j >= 0
eles[j+1] = eles[j]
j = j -1
eles[j+1] = key
return eles[]
์ข๋ ์์ธํ ์ค๋ช ์ ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ๋ถ์ ์ฐธ์กฐ
์๊ฐ ๋ณต์ก๋ $O(n\log n)$
๋ณํฉ ์ ๋ ฌ(Merge Sort)
ํ ์ ๋ ฌ(Heap Sort)
์๋ฃ๊ตฌ์กฐ์ธ ํ์ ์ด์ฉํ ์ ๋ ฌ
์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ํ ํ์ํ์ง ์๊ณ , ์ธ์ ๋ ์์ ์ ์ธ $O(n\log n)$ ์ฑ๋ฅ์ ๊ฐ์ง๋ค.
ํ์ง๋ง, ํต ์ ๋ ฌ์ด ์ปดํจํฐ ๊ตฌ์กฐ์ ์บ์ ์นํ์ ์ด๋ฏ๋ก ๋ณดํต ๋ ๋น ๋ฅด๋ค.
๋ค๋ง, ํต ์ ๋ ฌ์ ์ต์ ์ ์ํฉ์๋ $O(n^2)$์ด๋ฏ๋ก, ์ถ๊ฐ์ ์ธ ํผ๋ด ์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ์์ ๊ฒฝ์ฐ ํ ์ ๋ ฌ์ ์ต์ ์ ์ํฉ์ ํผํ ์ ์๋ค.
ํต ์ ๋ ฌ(Quick Sort)
๋ณดํต ์ต๊ณ ์ ์ฑ๋ฅ์ ๋ํ๋ด๋ ์ ๋ ฌ
ํผ๋ด์ ์ ํ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ํฌ๊ฒ ๋ฌ๋ผ์ ธ, ํผ๋ด์ ๊ณ ๋ฅด๋ partition ์๊ณ ๋ฆฌ์ฆ ๋ํ ๋ค์ํ๊ฒ ์กด์ฌํ๋ค.
๊ทธ์ธ ์ ๋ ฌ
์ ธ ์ ๋ ฌ(Shellโs Sort) - $O(n^{1.25})$
์ฝ์ ์ ๋ ฌ์ ๋์๋์ ๋จผ์ ์ํํ ํ, ๊ฑฐ์ ์ ๋ ฌ๋ ๋ฐฐ์ด์ ์ฝ์ ์ ๋ ฌ๋ก ๋ง๋ฌด๋ฆฌํ๋ ๋ฐฉ์ใ
_articles/computer_science/algorithm/์ ๋ ฌ ์ ๋ฆฌ.md