์์ ํ์ด์ง๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ฅธ ์คํ ์๋ ์ฆ, ๋ฐํ์๊ณผ ๊ด๋ จํ์ฌ ๋น๊ตํ์๊ณ ์ด๋ฅผ ์๊ฐ ๋ณต์ก๋๋ผ๊ณ ํ๋ค. ์ ๋ ฅ์ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐํ์์ ๋ถ์ํ ๊ฒ์ด๋ค.
์ด๋ฒ์ ๋ฐฐ์ธ ๊ณต๊ฐ ๋ณต์ก๋๋ ๋ฐ๋ก ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ์ฐจ์งํ๋ ๊ณต๊ฐ์ ๋ฐ๋ฅธ ๋ถ์์ ๋งํ๋ค.
์ฆ, ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์๊ณผ ๊ด๋ จ๋ ๋น๊ต์ด๋ค.
JavaScript ์์์ ๊ณต๊ฐ ๋ณต์ก๋์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ๊ท์น์ด ์กด์ฌํ๋ค.
boolean
, number
, undefined
, null
) ์ ์ผ์ ํ ๊ณต๊ฐ์ ์ฐจ์งํ๋ค.์ฆ, ์
๋ ฅ์ ํฌ๊ธฐ๋ ์ค์ํ์ง ์๊ณ ๋ฐ์ดํฐ๊ฐ 1
์ด๊ฑด 1000
์ด๊ฑด ์ผ์ ํ ๊ณต๊ฐ์ ์ฐจ์งํ๋ค๋ ๊ฒ์ด๋ค.
String
ํ์
์ O(n)
์ ํ๊ธฐ๋ฒ์ ์ง๋๋ค. ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ n
์ด ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ.array
ํ์
๊ณผ object
ํ์
์ ์ผ๋ฐ์ ์ผ๋ก O(n)
์ด๋ค.n
์ ๋ฐฐ์ด์ ๊ธธ์ด๋ ํค ๊ฐ์ ์๋ฅผ ์๋ฏธํ๋ค.// function sumA
function sumA(arr) {
let total = 0;
for (let i = 0; i < arr.length; i++) {
total += arr[i];
}
return total;
}
์๊ฐ๋ณต์ก๋์ ๊ด์ ์์ ๋ดค์ ๋, for
๋ฌธ์ผ๋ก ์ธํ ๋ฃจํ ๊ทธ๋ฆฌ๊ณ ํด๋น for
๋ฌธ์ ์
๋ ฅ๊ฐ์ธ arr
์ ๊ธธ์ด(n
)์ ๋ฐ๋ผ ๋ณํํ๋ฏ๋ก O(n)
์ด๋ผ๊ณ ํ ์ ์๋ค.
๊ณต๊ฐ๋ณต์ก๋์ ์ด์ ์์ ๊ณต๊ฐ(๋ฉ๋ชจ๋ฆฌ)๋ฅผ ์ฐจ์งํ๋ ์์ต์ ์ด๋๊ฐ ํด๋น๋๋ ๊ฒ์ธ๊ฐ๋ฅผ ์ดํด๋ณด๋ ๊ฒ์ด ์ค์ํ๋ค.
sumA()
๋ total = 0
์์ ๋ณ์ total
์ ์์ 0
์ ํ ๋นํ๋ค.(๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋ค.)for
๋ฌธ ๋ด์ let i = 0
์์ ๋ณ์ i
์ ์์ 0
์ ํ ๋นํ๋ค.(๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋ค.)์
๋ ฅ์ธ arr
์ ๊ธธ์ด์ ๋ฐ๋ผ ์๊ฐ ๋ณต์ก๋๋ ๋ณํํ ์ ์๊ฒ ์ผ๋ sumA()
ํจ์ ๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ฌ ์ฐจ์งํ๊ฒ ๋๋ ์์ญ์ 2๊ฐ์ง์ ๋ถ๊ณผํ๋ฉฐ return
๋๋ ๊ฐ total
์ ๊ฒฐ๊ตญ ์์(number
) ์ด๋ค.
JS์์์ ๊ณต๊ฐ ๋ณต์ก๋ ๊ท์น์์ ๋ณด์๋ฏ number
์ ๊ณต๊ฐ๋ณต์ก๋๋ ์ผ์ ํ๋ค. ์ฆ O(n)
์ด๋ค.
๋ค๋ฅธ ํจ์ sumB()
๋ฅผ ์ดํด๋ณด์.
// function sumB
function sumB(arr) {
let newArr = [];
for (let i = 0; i < arr.length; i++) {
newArr.push(2*arr[i]);
}
return newArr;
}
์๊ฐ ๋ณต์ก๋์ ๊ด์ ์์ ์
๋ ฅ๋๋ ๊ฐ arr
์ ๊ธธ์ด์ ๋ฐ๋ผ for
๋ฌธ์ ๋ฃจํ ๊ธธ์ด๊ฐ ๋ณํ๊ฒ ๋๊ณ ์ด๋ ๊ณง O(n)
์ ์๋ฏธํ๋ค.
sumA()
ํจ์์ ๊ณต๊ฐ ๋ณต์ก๋์ ๋์ผํ๊ฒ ๊ณต๊ฐ(๋ฉ๋ชจ๋ฆฌ)์ ์ฐจ์งํ๋ ์์ญ์ ์ดํด๋ณธ๋ค.
let newArr = [];
์์ ๋ฐฐ์ด์ด ๋ณ์ newArr
์ ํ ๋น๋๋ค.for
๋ฌธ ๋ด์์ let i = 0;
์ผ๋ก ๋ณ์ i
์ 0
์ด ํ ๋น๋๋ค.for
๋ฌธ ๋ด์์ ๋ณ์ newArr
์ด ์
๋ ฅ ๊ฐ์ธ arr
์ ๊ธธ์ด์ ๋ฐ๋ผ ๋น๋กํ์ฌ ๋ฐ๋ณต์คํ๋๋ฉฐ newArr
์ push
๋์ด ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ค.1.~2.๋ฅผ ํตํด์ +2๊ฐ ๋๋ฉฐ, 3. ์์ ์
๋ ฅ ๊ฐ์ธ ๋ฐฐ์ด arr
์ ๊ธธ์ด์ ๋ฐ๋ผ newArr
์ ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ ๋น๋กํ์ฌ ๋ณํํ๋ ๊ฒ์ ๋ฐ๋ผ, n+2
์์ ์ ์ ์๋ค.
์ฆ, ๋น
์ค ํํ์์ ๋จ์ํ์ ๋ฐ๋ผ O(n)
์ด๋ค.
Big O Notation(๋น ์ค ํ๊ธฐ๋ฒ) #6 (0) | 2022.02.25 |
---|---|
Big O Notation(๋น ์ค ํ๊ธฐ๋ฒ) #4 (0) | 2022.02.25 |
Big O Notation(๋น ์ค ํ๊ธฐ๋ฒ) #3 (0) | 2022.02.25 |
Big O Notation(๋น ์ค ํ๊ธฐ๋ฒ) #2 (0) | 2022.02.25 |
Big O Notation(๋น ์ค ํ๊ธฐ๋ฒ) (1) (0) | 2022.02.25 |