๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

210119_TIL (์ž๋ฃŒ๊ตฌ์กฐ - ์Šคํƒ, ํ, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ)

by joooing 2021. 1. 20.
๋ฐ˜์‘ํ˜•

๐ŸŽ ์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ


โœ”๏ธ ์ž๋ฃŒ ๊ตฌ์กฐ (์Šคํƒ, ํ, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ)
์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ €์žฅ ์ˆœ์„œ๋‚˜ ์ฒ˜๋ฆฌ ์ˆœ์„œ๋ฅผ ์ •ํ•ด๋‘” '์ž๋ฃŒ ๊ตฌ์กฐ'์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € ์Šคํƒ(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)
โœ”๏ธ ์›ํ˜•ํ

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€