์ดํƒœํ™
ํ™'story
์ดํƒœํ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171)
    • TW (39)
    • AI (47)
      • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ (10)
      • Kaggle (2)
      • Machine Learning (26)
      • Computer Vision (0)
      • Deep Learning (0)
      • ROS2 (7)
    • Computer Science (29)
      • Data Structure (0)
      • Algorithm (18)
      • Computer Architecture (5)
      • SOLID (0)
      • System Programing (6)
    • LOLPAGO (10)
      • ํ”„๋ก ํŠธ์—”๋“œ (10)
      • ๋ฐฑ์—”๋“œ (0)
    • BAEKJOON (2)
    • React (5)
    • ์–ธ์–ด (8)
      • C++ (8)
    • GIT (0)
    • MOGAKCO (19)
    • ๋ฏธ๊ตญ ์—ฌํ–‰๊ธฐ (3)
    • etc. (7)
      • Blog (2)
      • ์ฝœ๋ผํ†ค (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • C++
  • react
  • pytorch
  • algorithm
  • baekjoon
  • ROS2
  • LOLPAGO
  • kaggle
  • ๋จธ์‹ ๋Ÿฌ๋‹
  • ๋”ฅ๋Ÿฌ๋‹
  • NLP
  • computerscience
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • Ai
  • ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•
  • ๊ธฐ๊ณ„ํ•™์Šต
  • computer architecture
  • ML
  • ๋ฐฑ์ค€
  • tw

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
์ดํƒœํ™

ํ™'story

[Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ(1) - ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ๋…๊ณผ ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•
Computer Science/Algorithm

[Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ(1) - ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ๋…๊ณผ ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•

2022. 9. 5. 16:09

๐Ÿค” ํ•™์Šตํ•  ๋‚ด์šฉ

์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ด๋ก ์  ๋ถ„์„๊ณผ ์‹คํ—˜์  ๋ถ„์„๊ฐ„์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณธ ํ›„์—, Big-Oh notation์— ๋Œ€ํ•ด ์ง‘์ค‘์ ์œผ๋กœ ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €๋ฒˆ ํ•™๊ธฐ ๋™์•ˆ Computer Structure์—์„œ Big-Oh notation์„ ๋‹ค๋ค˜๋Š”๋ฐ ์กฐ๊ธˆ ๋” ์ž์„ธํ•˜๊ฒŒ ๋ฐฐ์›Œ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

๐Ÿ”Ž Algorithm

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ์œ ํ•œํ•œ ์ ˆ์ฐจ์™€ ๋ฐฉ๋ฒ•์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” ๋ณดํ†ต '์ˆ˜ํ•™์ ์œผ๋กœ ์—„๋ฐ€ํžˆ' ์ •์˜๋œ ๋ฌธ์ œ์— ํ•œ์ •๋ฉ๋‹ˆ๋‹ค.

์กฐ๊ธˆ ๋” ์ข์€ ์˜๋ฏธ๋กœ๋Š” ์ž…๋ ฅ๊ฐ’์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ˆ˜ํ•™์ ์œผ๋กœ ์—„๋ฐ€ํžˆ ์ •์˜๋  ์ˆ˜ ์žˆ๋Š” ๋‹ต(์ถœ๋ ฅ๊ฐ’)์„ ๋„์ถœํ•˜๋Š” ์ ˆ์ฐจ์™€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์‹คํ—˜์  ๋ถ„์„๊ณผ ์ด๋ก ์  ๋ถ„์„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

์‹คํ—˜์  ๋ถ„์„(Experimental analysis)

์ฃผ์–ด์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์†Œ์Šค์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ ์‹ค์ œํ™˜๊ฒฝ์—์„œ ๋™์ž๊นƒ์ผœ ์‹ค์ œ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

ex) C์–ธ์–ด์—์„œ๋Š” clock()์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋™์ž‘์‹œ๊ฐ„์„ ์ธก์ • ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

 

์‹คํ—˜์  ๋ถ„์„์˜ ๋ฌธ์ œ์ ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹ค์ œ ๊ตฌํ˜„ํ•˜๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ์†Œ๋ชจ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•  ๋•Œ, ๋‹ค์–‘ํ•œ ์™ธ๋ถ€ ์š”์ธ๋“ค(ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘, ์ฝ”๋”ฉ ์Šคํƒ€์ผ, ํ˜„์žฌ ์ปดํ“จํ„ฐ ์™ธ๋ถ€ ํ™˜๊ฒฝ ์ƒํƒœ ๋“ฑ)๋กœ ์ธํ•ด ์ •ํ™•ํ•œ ๋น„๊ต๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

 

 

 

์ด๋ก ์  ๋ถ„์„(Theoretical analysis)

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„(=์„ฑ๋Šฅ)์„ ์‹ค์ œ ๊ตฌํ˜„์„ ํ†ตํ•ด์„œ๊ฐ€ ์•„๋‹Œ, ์ด๋ก ์ ์œผ๋กœ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์‹œ๊ฐ„์€ ๋ณดํ†ต ์ž…๋ ฅ ์‚ฌ์ด์ฆˆ(๋ณดํ†ตn์œผ๋กœ ํ‘œ๊ธฐ)์— ๊ด€ํ•œ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ธฐ๋ณธ ์—ฐ์‚ฐ์˜ ์ด ํšŸ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด๋ก ์  ๋ถ„์„์„ ํ†ตํ•ด ๊ตฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์„ ์‹œ๊ฐ„ ๋ณต์žก๋„(time complexity)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

 

์ด๋ก ์  ๋ถ„์„์—์„œ ๊ณ ๋ คํ•˜๋Š” ๊ธฐ๋ณธ ์—ฐ์‚ฐ๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

์ˆซ์ž๋ฅผ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๋Š” ๊ฒฝ์šฐ

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ, ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ

๋‘(์ž‘์€) ์ •์ˆ˜ ์‚ฌ์ด์˜ ์‚ฌ์น™์—ฐ์‚ฐ

Array์˜ Get, Set์—ฐ์‚ฐ

๊ธฐํƒ€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์˜ ์ •์˜๋œ ๋‹จ์ผ ๋ช…๋ น์–ด

etc..(์š”์ฆ˜์€ ์ปดํ“จํ„ฐ์˜ ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ข‹์•„์ ธ์„œ ๋‹ค์–‘ํ•˜๋‹ค๊ณ  ํ•˜์ง€๋งŒ ์œ„์˜ ๊ฒฝ์šฐ๋งŒ ๊ณ ๋ คํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.)

 

 

ํ•œ ๋ฒˆ์˜ ๊ธฐ๋ณธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ์™ธ๋ถ€ ์š”์ธ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ธฐ ๋–„๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์ •ํ™•ํ•œ ์‹œ๊ฐ„์€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ฐ๊ฐ์˜ ๋‹จ์ผ ์—ฐ์‚ฐ๋“ค์€ ์ž…๋ ฅ ํฌ๊ธฐ์™€๋Š” ๋ฌด๊ด€ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ ์ด๋ก ์ ์œผ๋กœ ์—ฐ์‚ฐ๋“ค์€ ์ƒ์ˆ˜ ์‹œ๊ฐ„(constant time)์ด ์†Œ๋ชจ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

๐Ÿ”Ž Big-Oh Notation

Big-Oh notation (Big-Oh ํ‘œ๊ธฐ๋ฒ•)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋ก ์  ๋ถ„์„์—์„œ๋Š” ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ํ‘œํ˜„ํ•œ ํ•จ์ˆ˜ ์ž์ฒด๋ณด๋‹ค ์ž…๋ ฅ ์‚ฌ์ด์ฆˆ์— ๋น„๋ก€ํ•ด์„œ ํ•ด๋‹น ํ•จ์ˆ˜๊ฐ€ ์–ด๋А ์ •๋„๋กœ ์ฆ๊ฐ€ํ•˜๋Š”๊ฐ€์— ๋” ๊ด€์‹ฌ์ด ๋งŽ์Šต๋‹ˆ๋‹ค.

์•ž์„  constant time ์—ฐ์‚ฐ๋“ค์€ ์ž…๋ ฅ ์‚ฌ์ด์ฆˆ์™€ ๋ฌด๊ด€ํ•  ๋ฟ๋”๋Ÿฌ ํ•จ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์†๋„์™€๋„ ๊ฑฐ์˜ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.

 

 

์˜ˆ๋ฅผ ๋“ค์–ด ์ปดํ“จํ„ฐ 1๋ณด๋‹ค ๋ชจ๋“  ๊ธฐ๋ณธ ์—ฐ์‚ฐ๋“ค์ด 10๋ฐฐ ๋น ๋ฅธ ์ปดํ“จํ„ฐ 2๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ ์‹ค์ œ ์„ฑ๋Šฅ์—์„œ๋„ ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ผ์ˆ˜๋ก ๊ธฐ๋ณธ ์—ฐ์‚ฐ๋“ค์˜ ์†๋„์ฐจ์ด๋Š” ๊ฑฐ์˜ ๋ฌด์˜๋ฏธํ•ด์ง‘๋‹ˆ๋‹ค.

 

 

 

 

์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ n์ด๋ผ๋ฉด n์‹œ๊ฐ„๋™์•ˆ ์ปดํ“จํ„ฐ 1์ด K๊ฐœ์˜ ์ž๋ฃŒ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ, ์ปดํ“จํ„ฐ 2๋Š” 10K๊ฐœ์˜ ์ž๋ฃŒ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€  n³์ด๋ผ๋ฉด ์ปดํ“จํ„ฐ 1์ด K๊ฐœ์˜ ์ž๋ฃŒ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ปดํ“จํ„ฐ 2๋Š” 2.~K๊ฐœ์˜ ์ž๋ฃŒ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์—ฐ์‚ฐ๋“ค์ด 10๋ฐฐ ๋น ๋ฅด๋‹ค๊ณ  ํ•ด๋„ ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ์†๋„์ฐจ์ด๊ฐ€ ๋ฌด์˜ํ•ด์ง์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

 

 

 

Big-Oh Notation์˜ ์ •์˜

Big-Oh Notation์˜ ์ •์˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

 

์ˆ˜ํ•™์  ๊ธฐํ˜ธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

์ฆ‰ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” $c$์™€ $n_0$์„ ์ฐพ์œผ๋ฉด Big-Oh Notation์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•จ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์˜ˆ์‹œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

๋จผ์ € ์ƒ์ˆ˜ํ•จ์ˆ˜ $f(n) = 30$๋ฅผ Big-Oh Notation์œผ๋กœ ํ‘œ๊ธฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

์ƒ์ˆ˜ํ•จ์ˆ˜๋Š” $n$๊ณผ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ผ์ •ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ 30๋ณด๋‹ค ํฐ $c$๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์ด๋ฅผ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.

 

Big-Oh Notation์—์„œ๋Š” ์ด๋ฅผ $f(n) = O(g(n))$๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

 

 

1์ฐจํ•จ์ˆ˜์ธ $f(n) = 3n + 1000$์˜ Big-Oh Notation์„ ํ‘œ๊ธฐํ•˜๊ธฐ์œ„ํ•ด ์ •์˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” $c$์™€ $n0$๋ฅผ ์ฐพ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$c = 100$์ด๋ผ ํ•˜๋ฉด $f(n) = 3n + 1000 ≤ 100n + 1000$์ด๋ฏ€๋กœ $n_0 > 1000$ ์ผ๋–„ ์ •์˜๋ฅผ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.

์ตœ๊ณ ์ฐจํ•ญ์ด $d$์ธ ๋‹คํ•ญ์‹์€

 

์— ๋”ฐ๋ผ $f(n) = O(n^d)$ ๋ผ๋Š” ์ ์„ ์‰ฝ๊ฒŒ ์ฆ๋ช… ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

 

 

์ถ”๊ฐ€ ์˜ˆ์‹œ๋ฅผ ํ’€์–ด๋ณด์‹œ๋ฉด ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

โœ๏ธ์ถ”๊ฐ€ ์˜ˆ์ œ

๋”๋ณด๊ธฐ

1. $f(n) = 30$์ผ ๋•Œ, f(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ Big-Oh Notation์œผ๋กœ ํ‘œ๊ธฐํ•˜์‹œ์˜ค.

 

2. $f(n) = 3n + 1000$์ผ ๋•Œ, f(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ Big-Oh Notation์œผ๋กœ ํ‘œ๊ธฐํ•˜์‹œ์˜ค.

 

3. $f(n) = 3n^2 - 4n + 2$์ผ ๋•Œ, f(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ Big-Oh Notation์œผ๋กœ ํ‘œ๊ธฐํ•˜์‹œ์˜ค.

 

4. $f(n) = 100n^3 + 10nlogn + 2$์ผ ๋•Œ, f(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ Big-Oh Notation์œผ๋กœ ํ‘œ๊ธฐํ•˜์‹œ์˜ค.

 

5. $f(n) = logn + 2loglogn - 3$์ผ ๋•Œ, f(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ Big-Oh Notation์œผ๋กœ ํ‘œ๊ธฐํ•˜์‹œ์˜ค.

 

6. $f(n) = 2^n+2$์ผ ๋•Œ, f(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ Big-Oh Notation์œผ๋กœ ํ‘œ๊ธฐํ•˜์‹œ์˜ค.

 

 

 

 

์ฐธ๊ณ 

$f(n) = n!$์ผ ๋•Œ, f(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” $O(n^n) ์ž…๋‹ˆ๋‹ค. 

 

 

 

 

 

์–ด๋–ค ํ•จ์ˆ˜๋ฅผ Big-Oh notation์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ๋ช‡ ๊ฐ€์ง€ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

1. ํ•จ์ˆ˜์˜ ๊ฐ term ์˜ coefficient ๋Š” ์ƒ๋žต ๊ฐ€๋Šฅ (ex : $13n^2 = O(n^2)$).

 

2. $a > b$ ์ธ ๊ฒฝ์šฐ $n^a$ ์™€ $n^b$ term ์ด ๊ฐ™์ด ์žˆ์œผ๋ฉด $na$ term ๋งŒ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Œ.
(์ด ๊ฒฝ์šฐ $na$ dominates $nb$๋ผ ํ•จ) ex:$ f(n) = nโด + n³ = O(nโด)$

 

3. ์–ด๋– ํ•œ exponential (์ง€์ˆ˜ํ•จ์ˆ˜) term๋„ polynomial term ์„ dominate ํ•จ.
(ex : $1.00001^n$ dominates $n^100000000)$)

 

4. ์–ด๋– ํ•œ polynomial term ๋„ logarithm (๋กœ๊ทธ ํ•จ์ˆ˜) term ์„ dominate ํ•จ.
(ex : $n $dominates $log_n100000000$)

 

 

 

 

Notation Ω (Omega) ์™€ ฯด (Theta) o(Little-Oh)

$f(n), g(n)$์— ๋Œ€ํ•ด $f(n) = O(g(n))$๋ฅผ ๋งŒ์กฑํ•˜๋ฉด $g(n) = Ω (f(n))$์ด๋ผ๊ณ  ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜ํ•™์  ๊ธฐํ˜ธ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$∃ c, n_0 > 0$   such that $∀ n > n_0,   g(n)   ≥   c ⋅ f(n)$

 

 

$f(n) = O(g(n))$ ์ž„๊ณผ ๋™์‹œ์— $g(n) = O(f(n))$ ์ด๋ฉด $f = ฯด(g(n))$ ๊ทธ๋ฆฌ๊ณ  $g = ฯด(f(n))$ ์ด๋ผ๊ณ  ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜ํ•™์  ๊ธฐํ˜ธ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

$ ∃ c_1, c_2, n_0 > 0$  such  that $ ∀n > n_0,  c _1⋅ f(n) ≤ g(n) ≤ c_2 ⋅ f(n)$

 

 

 

 

$f(n), g(n)$ ์— ๋Œ€ํ•ด ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด $f(n) = o(g(n))$ ์ด๋ผ๊ณ  ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$∀ c, ∃ n_0 > 0$ such that $∀n ≤ n_0, f(n) ≤ c ⋅ g(n)$

 

 

 

์‹ค์ œ ์ฝ”๋“œ๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ด๋ก ์ ์ธ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์„ ๋ถ„์„ํ•  ๋•Œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ์—์„œ๋Š” 1) ๋ณ€์ˆ˜์˜ ๋Œ€์ž… ํšŸ์ˆ˜, 2) ๋ฐ˜๋ณต๋ฌธ (for, while…) ์—์„œ์˜ ๋ฐ˜๋ณต ํšŸ์ˆ˜, 3) ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ ๋ฐ ๋ฆฌํ„ด ์ˆ˜ ๋“ฑ ๊ธฐ๋ณธ ์—ฐ์‚ฐ๋“ค์˜ ์ˆ˜ํ–‰ ํšŸ์ˆ˜๊ฐ€ ์ž…๋ ฅ ํฌ๊ธฐ์— ๋น„๋ก€ํ•˜์—ฌ ์–ด๋А ์ •๋„๋กœ ์ปค์ง€๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

'Computer Science > Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Algorithm] ๋ถ„ํ• ์ •๋ณต(2) - Multiplication  (0) 2022.09.29
[Algorithm] ๋ถ„ํ• ์ •๋ณต(1) - Master Theorem๊ณผ ์ผ๋ฐ˜ํ•ด  (0) 2022.09.28
[Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ(2) - Basic Arithmetic  (0) 2022.09.28
[Algorithm] Master Theorem ๋ง›๋ณด๊ธฐ  (0) 2022.09.14
[Algorithm] ๋ถ„ํ• ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ง›๋ณด๊ธฐ  (0) 2022.09.13
    'Computer Science/Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Algorithm] ๋ถ„ํ• ์ •๋ณต(1) - Master Theorem๊ณผ ์ผ๋ฐ˜ํ•ด
    • [Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ(2) - Basic Arithmetic
    • [Algorithm] Master Theorem ๋ง›๋ณด๊ธฐ
    • [Algorithm] ๋ถ„ํ• ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ง›๋ณด๊ธฐ
    ์ดํƒœํ™
    ์ดํƒœํ™
    ๊ณต๋ถ€ํ•˜์ž ํƒœํ™์•„

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”