๊ฐœ๋ฐœ์ผ์ง€

์‹œ๊ฐ„ ๋ณต์žก๋„ ๋ณธ๋ฌธ

Algorithm

์‹œ๊ฐ„ ๋ณต์žก๋„

O'mil 2023. 11. 17. 15:46
728x90

๐Ÿ“Œ ์‹œ๊ฐ„ ๋ณต์žก๋„

์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•œ๋‹ค๋Š” ๊ฒƒ
: '์ž…๋ ฅ๊ฐ’์˜ ๋ณ€ํ™”์— ๋”ฐ๋ผ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•  ๋•Œ, ์—ฐ์‚ฐ ํšŸ์ˆ˜์— ๋น„ํ•ด ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋งŒํผ ๊ฑธ๋ฆฌ๋Š”๊ฐ€?'๋ผ๋Š” ๋ง์ด๋‹ค.
  • ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์ฃผ๋กœ ๋น…-์˜ค ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

๐Ÿ“Œ Big-O ํ‘œ๊ธฐ๋ฒ•

1. O(1)

: O(1)๋Š” ์ผ์ •ํ•œ ๋ณต์žก๋„(constant complexity)๋ผ๊ณ  ํ•˜๋ฉฐ, ์ž…๋ ฅ๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๋”๋ผ๋„ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค.

  • ์ผ์ •ํ•œ ๋ณต์žก๋„ -> ์ƒ์ˆ˜ํ•ญ(0์ฐจ์‹)

 

*์˜ˆ์‹œ

MenOfPassion(A[], n) {
    i = ⌊n / 2⌋;
    return A[i]; # ์ฝ”๋“œ1
}
  • ์ž…๋ ฅ์ด ์•„๋ฌด๋ฆฌ ์ปค์ ธ๋„ ์ฝ”๋“œ๋ฅผ '๋”ฑ 1๋ฒˆ'๋งŒ ์‹คํ–‰ํ•จ

 

2. O(n)

: O(n)์€ ์„ ํ˜• ๋ณต์žก๋„(linear complexity)๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์ž…๋ ฅ๊ฐ’์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์‹œ๊ฐ„ ๋˜๋Š” ๊ฐ™์€ ๋น„์œจ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

  • ์˜ˆ์‹œ: ์ž…๋ ฅ๊ฐ’์ด 1์ผ ๋•Œ 1์ดˆ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ , ์ž…๋ ฅ๊ฐ’์„ 100๋ฐฐ ์ฆ๊ฐ€ ์‹œ์ผฐ์„ ๋•Œ 100์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

3. O(log n)

: O(log n)์€ ๋กœ๊ทธ ๋ณต์žก๋„(logarithmic complexity)๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, Big-O ํ‘œ๊ธฐ๋ฒ• ์ค‘ O(1) ๋‹ค์Œ์œผ๋กœ ๋น ๋ฅธ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

  • ์˜ˆ์‹œ: BST์˜ ๊ฐ’ ํƒ์ƒ‰
  • BST์—์„  ์›ํ•˜๋Š” ๊ฐ’์„ ํƒ์ƒ‰ํ•  ๋•Œ, ๋…ธ๋“œ๋ฅผ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์–ด๋“ ๋‹ค.

 

4. O(n2)

: O(n2)์€ 2์ฐจ ๋ณต์žก๋„(quadratic complexity)๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์ž…๋ ฅ๊ฐ’์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์‹œ๊ฐ„์ด n์˜ ์ œ๊ณฑ์ˆ˜์˜ ๋น„์œจ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

  • n์˜ ์ œ๊ณฑ์ˆ˜์˜ ๋น„์œจ๋กœ ์ฆ๊ฐ€ -> 2์ฐจ์‹

 

 

5. O(2n)

: O(2n)์€ ๊ธฐํ•˜๊ธ‰์ˆ˜์  ๋ณต์žก๋„(exponential complexity)๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, Big-O ํ‘œ๊ธฐ๋ฒ• ์ค‘ ๊ฐ€์žฅ ๋Š๋ฆฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

  • ์˜ˆ์‹œ: ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด

 

 

 

 


์ฐธ๊ณ 

https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-time-complexity-%EC%8B%9C%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F%84/

728x90
Comments