let's get IT with DAVINA ๐ป
[์๋ฃ๊ตฌ์กฐ/์ ํ๊ตฌ์กฐ] ๋ฐฐ์ด ๋ณธ๋ฌธ
๋ฐฐ์ด
- ๋ฉ๋ชจ๋ฆฌ ์์ ์์๋ฅผ ์ฐ์ํ๊ฒ ๋ฐฐ์นํ ์๋ฃ๊ตฌ์กฐ
๋ฐฐ์ด์ ์ฑ์ง
- O(1)์ k๋ฒ์งธ ์์๋ฅผ ํ์ธ/๋ณ๊ฒฝ ๊ฐ๋ฅ
- ์ถ๊ฐ์ ์ผ๋ก ์๋ชจ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์(=overhead)๊ฐ ๊ฑฐ์ ์์
- Cache hit rate๊ฐ ๋์
- cache hit rate: ์บ์๊ฐ ์ ์ค๋๋ ์ ๋
- ๋ฉ๋ชจ๋ฆฌ ์์ ์ฐ์ํ ๊ตฌ๊ฐ์ ์ก์์ผ ํด์ ํ ๋น์ ์ ์ฝ์ด ๊ฑธ๋ฆผ
๊ธฐ๋ฅ๊ณผ ๊ตฌํ
- ์์์ ์์น์ ์๋ ์์๋ฅผ ํ์ธ/๋ณ๊ฒฝ → O(1)
- ์์๋ฅผ ๋์ ์ถ๊ฐ → O(1)
- ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐ → O(1)
- ์์์ ์์น์ ์์๋ฅผ ์ถ๊ฐ/์ ๊ฑฐ → O(N)
- ex) ๋ง์น ์ฑ ์ฅ์ ์ฑ ์ด ์ฐ์ํด์ ๊ฝํ์์ ๋ ์ค๊ฐ์ ์ฑ ์ ๋ฃ๊ธฐ ์ํด์ ๋๋จธ์ง ์ฑ ๋ค์ ๋ฐ์ด์ผํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ํฉ
insert ํจ์
void insert(int idx, int num, int arr[], int&len){
for(let i=len; i>idx; i--)
arr[i]=arr[i-1];
arr[idx]=num;
len++
}
erase ํจ์
void erase(int idx, int arr[], int&len){
len--;
for(int i=idx; i<len; i++)
arr[i]=arr[i+1];
}
'DEV_IN > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ/์ ํ๊ตฌ์กฐ] ๋ฑ (0) | 2023.03.09 |
---|---|
[์๋ฃ๊ตฌ์กฐ/์ ํ๊ตฌ์กฐ] ์ฐ๊ฒฐ ๋ฆฌ์คํธ (0) | 2023.03.08 |
[์๊ณ ๋ฆฌ์ฆ ์ ํ] Greedy Algorithm (2) | 2023.03.07 |
์๊ณ ๋ฆฌ์ฆ/๊ณต๊ฐ ๋ณต์ก๋ (2) | 2023.02.24 |
์๊ณ ๋ฆฌ์ฆ/์๊ฐ ๋ณต์ก๋ (0) | 2023.02.24 |
Comments