๋ฐ์ํ
๐ ์ค๋ ๋ฐฐ์ด ๊ฒ
โ๏ธ ์๋ฃ ๊ตฌ์กฐ (์คํ, ํ, ์ฐ๊ฒฐ๋ฆฌ์คํธ)
์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ค์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ์ ์ฅ ์์๋ ์ฒ๋ฆฌ ์์๋ฅผ ์ ํด๋ '์๋ฃ ๊ตฌ์กฐ'์ ๋ํด ๋ฐฐ์ ๋ค. ๊ฐ์ฅ ๋จผ์ ์คํ(Stack), ํ(Queue), ์ฐ๊ฒฐ๋ฆฌ์คํธ(Linked List) ์ ๋ํด ๊ณต๋ถํ๋๋ฐ ์ฌ์ค ๊ฐ๋ ๋ง ๋ด์๋ ์ ์๋ฟ์ง ์์๋ค. ๊ฐ๊ฐ์ ์๋ฃ ๊ตฌ์กฐ๋ค๊ณผ ๊ด๋ จ๋ ๋ฉ์๋๋ค์ ์ง์ ์ฝ๋๋ก ์์ฑํด๋ณด๊ธฐ๋ ํ๋๋ฐ, ์คํ๋ ค ์ด ๊ณผ์ ์์ ์ดํด๊ฐ ๋๊ธฐ ์์ํ ๋ถ๋ถ๋ค์ด ๋ง์๋ค. ํนํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ญ๊ฐ ๋จธ๋ฆฌ์์ ๋ฑ ๊ทธ๋ ค์ง์ง๊ฐ ์์์ ์ง์ ์์ผ๋ก ๊ทธ๋ ค๋ณด๊ฑฐ๋, ์์๋ฅผ ๊ฐ์ฒด ํํ๋ก ์์ฑํด๋ณด๋ฉด์ ์ต์ํด์ง๋ ค๊ณ ๋ ธ๋ ฅํ๋ ๊ฒ ๊ฐ๋ค. ๊ณต๋ถํ ๋ด์ฉ๋ค์ ์ ๋ ์๊ฐ๋์ ์ญ ์ ๋ฆฌํด๋ณด๊ณ , ์์ฑํ๋ ์ฝ๋๋ ์๋ ์ฝ๋๋ก ๋ค์ ์จ๋ณด๋๊น ๊ฐ๊ฐ์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ธ์ ์ฌ์ฉํ๋๊ฒ ํจ์จ์ ์ผ ์ง, ๊ทธ๋ฆฌ๊ณ ์๊ฐ๋ณต์ก๋๊ฐ ์ ๊ทธ๋ ๊ฒ ๋์จ๊ฑด์ง ์ข ๊ฐ์ด ์กํ๊ธฐ ์์ํ ๊ฒ ๊ฐ๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ ๋ชจ๊ฐ์ฝํ๋ค๊ฐ ์๊ฒ๋ ํซํ ์ ๋ณด๋ค,,
1) length : length๋ ์ํ๋ฉ์๋์ธ์ค ์์๋๋ฐ ๋จ์ํ โฉ์ ์ผ ํฐ ์ธ๋ฑ์ค+1์ ๋ฆฌํดํ ๋ฟ์ด์๋ค.
2) arr.length = 0 : ๋ฐฐ์ด ์ด๊ธฐํ (๋น ๋ฐฐ์ด๋ก ๋ฐ๊ฟ์ค)-> ๋ฐฐ์ด๋ ๊ฒฐ๊ตญ์ ๊ฐ์ฒด์ ํ์์ด๋ผ์โฉ..!
3) fill(): ๋ฐฐ์ด์ ์์ ์ธ๋ฑ์ค๋ถํฐ ๋ ์ธ๋ฑ์ค์ ์ด์ ๊น์ง ํ๋์ ๊ฐ์ผ๋ก ์ฑ์๋ฒ๋ฆฌ๋ ๋ฉ์๋
(ex. โฉlet x = new Array(10).fill(0) -> 0์ด 10๊ฐ ๋ค์ด์๋ ๋ฐฐ์ด ์์ฑ)โฉ
4) element.classList ๋ ์ฝ๊ธฐ ์ ์ฉ! (์๋ํ.. ์บก์ํ..)
classList.length = 0 ๋ก ์ด๊ธฐํํ ์ ์์ ์ค ์์๋๋ฐ add(), remove() ๋ฉ์๋๋ก๋ง ๋ณํ๊ฐ๋ฅํ๋ค.โฉ
5) shift, unshift ์๊ฐ๋ณต์ก๋๋ โฉ0(n) / pop, push ์๊ฐ๋ณต์ก๋๋โฉO(1)โฉ
๋ฐฐ์ด ๋ฉ์๋ ์ค ๋งจ์ ์์๋ฅผ ์ญ์ ํ๊ณ ์ถ๊ฐํ๋ shift, unshift๋ ์์๋ค์ ํ๋์ฉ ๋ค ์ฎ๊ฒจ์ผํด์ ์๊ฐ๋ณต์ก๋๊ฐ ๋ฌด๋ ค O(n)์ด๋ค
6) deque(๋ฐํ) : โฉ์คํ + ํ (์์ชฝ์ ์ถ์ ๊ตฌ๊ฐ โฉ๋ค๋ฌ๋ฆฐ ๊ตฌ์กฐโฉ)
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ ์ฐ์ ์์ํ(heap)
โ๏ธ ์ํํ
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210121_TIL (์๋ฃ๊ตฌ์กฐ - ํธ๋ฆฌ, ์ด์ง๊ฒ์ํธ๋ฆฌ) (0) | 2021.01.22 |
---|---|
210120_TIL (์๋ฃ๊ตฌ์กฐ - ํด์ํ ์ด๋ธ, ๊ทธ๋ํ) (0) | 2021.01.21 |
210118_TIL (ํฌ์ผ๋ชฌ๊ฒ์ Javascript ์์ฑ) (0) | 2021.01.19 |
210117_TIL (ํฌ์ผ๋ชฌ๊ฒ์ HTML, CSS) (0) | 2021.01.18 |
210116_TIL (ํฌ์ผ๋ชฌ๊ฒ์ ๊ธฐํ) (0) | 2021.01.17 |
๋๊ธ