D+47
- Linked List์ Hash Table -
(Linked List, Hash Table)
Linked List
•ํฌ๊ธฐ๊ฐ ๋์ ์ธ ์๋ฃ๊ตฌ์กฐ
• ๋ ธ๋(๋ฐ์ดํฐ ํ๋ + ๋งํฌ)์ ์ฐ๊ฒฐ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ
๋ฐ์ดํฐ ํ๋ - ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณณ
๋งํฌ - ๋ค์ ๋ ธ๋์ ์์น๋ฅผ ์๋ ค์ฃผ๋ ๊ณณ
Singly Linked List (๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ)
๋ ธ๋ ์์ ๋งํฌ๊ฐ 1๊ฐ์ด๊ณ , ๋จ๋ฐฉํฅ์ผ๋ก ์งํํ๋ ๋ฆฌ์คํธ์ด๋ค.
๋ ธ๋ ์ ๋งํฌ๊ฐ 1๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ด์ ๋ ธ๋๋ก ๊ฐ ์ ์๋ค.
Doubly Linked List (์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ)
๋ ธ๋ ์์ ๋งํฌ๊ฐ 2๊ฐ ์ด๊ณ ์๋ฐฉํฅ์ผ๋ก ์งํํ ์ ์๋ ๋ฆฌ์คํธ์ด๋ค.
Circular Linked List (ํํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ)
๋ง์ง๋ง ๋ ธ๋๊ฐ ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌ์ผ์ ๊ณ์ ํ์ ํ ์ ์๊ฒ ๋ง๋ค์ด์ง ๋ฆฌ์คํธ์ด๋ค.
์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ด๋ จ ๋ฉ์๋
•addToTail(value) : ์ฃผ์ด์ง ๊ฐ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋์ ์ถ๊ฐํ๋ค.
• remove(value) : ์ฃผ์ด์ง ๊ฐ์ ์ฐพ์์ ์ฐ๊ฒฐ์ ํด์ (์ญ์ )ํ๋ค.
•getNodeAt(index) : ์ฃผ์ด์ง ์ธ๋ฑ์ค์ ๋ ธ๋๋ฅผ ์ฐพ์์ ๋ฐํํ๋ค. (๊ฐ์ด ์๋๋ผ ๋ ธ๋๋ฅผ ๋ฐํํ๋ฉฐ ๋ ธ๋๊ฐ ์์ ๊ฒฝ์ฐ undefined๋ฅผ ๋ฐํํ๋ค)
•contains(value) : ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ฃผ์ด์ง ๊ฐ์ ๊ฐ์ง๋ ๋ ธ๋์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๋ฐํํ๋ค.
•indexOf(value) : ์ฃผ์ด์ง ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค. ์์ ๊ฒฝ์ฐ์ -1์ ๋ฐํํ๋ค.
Hash Table
•ํค์ ๊ฐ์ ์์ผ๋ก ์ ์ฅํ๊ณ ์๋ ์๋ฃ ๊ตฌ์กฐ
• ํค๋ฅผ ์ ์ฅํ ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ ์ฌ์ฉํ ์ ์๋๋ก ํค๋ฅผ ํด์ํจ์๋ผ๋ ํจ์๋ฅผ ํตํด ํน์ ์ซ์ ๊ฐ์ ์ธ๋ฑ์ค๋ก ๋ณํํ๋ค.
•ํด์ ํ ์ด๋ธ์ ํ์ํ ๋์๋ง ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๊ณ ๊ฐ๋ฅํ ์์ ํฌ๊ธฐ๋ฅผ ์ ์งํ๋ค.
ํด์ฑ (Hashing)
ํ๋์ ๋ฌธ์์ด์ ์๋์ ๊ฒ์ ์์งํ๋ ๋ ์งง์ ๊ธธ์ด์ ๊ฐ์ด๋ ํค๋ก ๋ณํํ๋ ๊ฒ์ผ๋ก
ํด์ฑ์ ํด์ ํ ์ด๋ธ๊ณผ ํด์ํจ์๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
ํด์ ์ถฉ๋
ํด์ ํจ์๊ฐ ์๋ก ๋ค๋ฅธ ๋ ๊ฐ์ ์ ๋ ฅ๊ฐ์ ๋ํด ๋์ผํ ์ถ๋ ฅ ๊ฐ์ ๋ด๋ ์ํฉ
ํด์ ํ ์ด๋ธ ๊ด๋ จ ์ฉ์ด
•storage : ํด์ ํ ์ด๋ธ์์ ์๋ฃ๋ฅผ ์ ์ฅํ๋ ์ ์ฒด์ ์ธ ๊ณต๊ฐ์ ๋ํ๋ธ๋ค.
• bucket : ๊ฐ ํด์ํ ์ด๋ธ์ ์ธ๋ฑ์ค(์ฃผ์) ๋ณ๋๋ก ์กด์ฌํ๋ ์ฌ๋กฏ์ ์๋ฏธํ๋ค.
•tuple : ๊ฐ๊ฐ ๋ฐ์ดํฐ๋ค์ ๋ด๊ณ ์๋ ๋ฒํท ๋ด๋ถ์ ๊ณต๊ฐ์ ๋ํ๋ธ๋ค.
ํด์ ํ ์ด๋ธ ๊ด๋ จ ๋ฉ์๋
•insert(key, value) : ์ฃผ์ด์ง ํค์ ๊ฐ์ ์ ์ฅํ๋ฉฐ, ์ด๋ฏธ ํด๋น ํค๊ฐ ์ ์ฅ๋์ด ์๋ค๋ฉด ๊ฐ์ ๋ฎ์ด ์์ด๋ค.
•retrieve(key) : ์ฃผ์ด์ง ํค์ ํด๋นํ๋ ๊ฐ์ ๋ฐํํ๋ฉฐ, ์์ ๊ฒฝ์ฐ undefined๋ฅผ ๋ฐํํ๋ค.
•remove(key) : ์ฃผ์ด์ง ํค์ ํด๋นํ๋ ๊ฐ์ ์ญ์ ํ๊ณ ๊ฐ์ ๋ฐํํ๋ฉฐ, ์์ ๊ฒฝ์ฐ undefined๋ฅผ ๋ฐํํ๋ค.
•_resize(newLimit) : ํด์ ํ ์ด๋ธ์ ์คํ ๋ฆฌ์ง ๋ฐฐ์ด์ newLiit์ผ๋ก ๋ฆฌ์ฌ์ด์งํ๋ ํจ์๋ก, ๋ฆฌ์ฌ์ด์ง ํ ์ ์ฅ๋์ด ์๋ ๊ฐ์ ์ ๋ถ ๋ค์ ํด์ฑ์ ํด์ฃผ์ด์ผ ํ๋ค.
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+49] Immersive 1์ฃผ์ฐจ (0) | 2020.10.25 |
---|---|
[D+48] ๊ฐ์ ํด์... (0) | 2020.10.24 |
[D+46] ์คํ๊ณผ ํ (0) | 2020.10.22 |
[D+45] ESlint ์ค์นํ๊ธฐ (0) | 2020.10.21 |
[D+44] call, apply, bind ๋ฉ์๋ (0) | 2020.10.20 |
๋๊ธ