μ½”ν…Œ

μ•Œκ³ λ¦¬μ¦˜κ³Ό μ‹œκ°„ λ³΅μž‘λ„

JongAh 2021. 3. 30. 05:30

πŸš€ μ•Œκ³ λ¦¬μ¦˜

κ³„μ‚°μ΄λ‚˜ μž‘μ—…μ„ ν•˜κΈ° μœ„ν•œ μˆœμ„œ

 

πŸ“Œ μ•Œκ³ λ¦¬μ¦˜κ³Ό ν”„λ‘œκ·Έλž¨

 

ν”„λ‘œκ·Έλž¨μ€ μ™„μ„±λœ 건물이라면 μ•Œκ³ λ¦¬μ¦˜μ€ 건물의 λΌˆλŒ€μ— ν•΄λ‹Ήν•œλ‹€.

 

πŸ“Œ μ•Œκ³ λ¦¬μ¦˜ 섀계

μ»΄ν“¨ν„°λŠ” κΈ°λ³Έ λͺ…λ Ήλ“€(λ§μ…ˆ, 데이터 μ €μž₯) 등을 μ‘°ν•©ν•˜μ—¬ λ™μž‘ν•œλ‹€.

컴퓨터가 μ‹€ν–‰ν•  수 μžˆλŠ” κΈ°λ³Έ λͺ…λ Ήλ§Œ κ°€μ§€κ³  μ‘°ν•©ν•˜μ—¬ μ•Œκ³ λ¦¬μ¦˜μ„ κ΅¬ν˜„ν•˜λ„λ‘ ν•˜λŠ” 것이 μ•Œκ³ λ¦¬μ¦˜ 섀계이닀.

 

πŸ“Œ μ•Œκ³ λ¦¬μ¦˜ 선택 방법

μ•Œκ³ λ¦¬μ¦˜μ„ μ„ νƒν•˜λŠ” κΈ°μ€€μ—λŠ” 정확도, λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰, μ‹œκ°„ λ³΅μž‘λ„ 등이 μžˆμ§€λ§Œ 일반적으둜 μ‹œκ°„ λ³΅μž‘λ„λ₯Ό κ°€μž₯ μ€‘μš”μ‹œ μ—¬κΈ΄λ‹€.

 

⏰ μ‹œκ°„ λ³΅μž‘λ„

μ‹œκ°„ λ³΅μž‘λ„λŠ” μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³  결둠을 λ„μΆœν•˜λŠ” 데 κΉŒμ§€ κ±Έλ¦¬λŠ” μ‹œκ°„μ„ μ˜λ―Έν•œλ‹€.

*μ‚¬μš©ν•˜λŠ” μ–Έμ–΄, μ»΄ν“¨ν„°μ˜ 처리 속도 등에 μ˜μ‘΄ν•œλ‹€.

 

πŸ“Œ 계산 방법

주둜 'ν”„λ‘œμ„ΈμŠ€λ₯Ό μ’…λ£Œν•˜κΈ° κΉŒμ§€ κΈ°λ³Έ λ‹¨μœ„λ₯Ό λͺ‡νšŒ μ‹€ν–‰ν•˜λŠ”κ°€' 둜 계산 μ‹œκ°„μ„ μΈ‘μ •ν•œλ‹€.

선택정렬
1. μˆ˜μ—΄μ—μ„œ μ΅œμ†Ÿκ°’μ„ μ°ΎλŠ”λ‹€.
2. μ΅œμ†Ÿκ°’μ„ μˆ˜μ—΄μ˜ κ°€μž₯ μ™Όμͺ½ μˆ«μžμ™€ κ΅ν™˜ν•œλ‹€.

선택 정렬을 예둜 λ“€λ©΄ 1번과 2λ²ˆμ„ κ²°κ³Όκ°€ λ‚˜μ˜¬ λ•Œ κΉŒμ§€ λ°˜λ³΅ν•œλ‹€.

μ΄λ•Œ 이 과정을 λͺ‡λ²ˆ μˆ˜ν–‰ν•˜λŠ” μ§€ κ²€μˆ˜ν•œλ‹€.

 

πŸ“Œ BIG O ν‘œκΈ°λ²•

OλŠ” 'μ€‘μš”ν•œ ν•­λͺ© μ΄μ™Έμ—λŠ” λ¬΄μ‹œν•œλ‹€' λΌλŠ” 의미λ₯Ό κ°€μ§„λ‹€.

λ•Œλ¬Έμ— O( )의 ν˜•μ‹μ˜ μ‹œκ°„ λ³΅μž‘λ„μ—μ„œ κ΄„ν˜Έ() μ•ˆμ˜ μˆ˜μ‹μ€ μ‹œκ°„μ— κ°€μž₯ λ§Žμ€ 영ν–₯을 μ£ΌλŠ” μš”μ†Œλ§Œμ„ κ°„μΆ”λ €μ„œ λ‚˜νƒ€λ‚Έλ‹€.

μ„ νƒμ •λ ¬μ˜ μ‹œκ°„ λ³΅μž‘λ„(O(n^2))λŠ” 전체 μˆ˜μ‹ 쀑 μ‹€ν–‰μ‹œκ°„μ— κ°€μž₯ λ§Žμ€ 영ν–₯을 μ£ΌλŠ” N^2λ§Œμ„ ν‘œκΈ°ν•œλ‹€.

Big Oν‘œκΈ°λ²•μ—μ„œ 자주 μ‚¬μš©λ˜λŠ” μ‹œκ°„ λ³΅μž‘λ„ 이닀.

ν‘œκΈ°μ— 따라 μ§κ΄€μ μœΌλ‘œ λŒ€μ†Œκ΄€κ³„λ₯Ό μ΄ν•΄ν•˜λŠ” 것이 도움이 λœλ‹€.