๋ฐ์ดํฐ๋ฅผ 1์ด๋ก ๋์ดํ ์๋ฃ๊ตฌ์กฐ
๊ฐ์ ์๋ฃํ, ๊ฐ์ ํฌ๊ธฐ์ ๊ธฐ์ต ๊ณต๊ฐ
๐ ๋ฐฐ์ด์ ์ ๋๋ ์ 0๋ฒ์ธ๊ฐ?
๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ ์ฒซ ๋ฒ์งธ ์์์์ ์ผ๋ง๋ ๋จ์ด์ ธ ์๋๊ฐ๋ฅผ ํตํด ์ ํ๋ค.
์ฒซ ๋ฒ์งธ ์์๋ 0๋งํผ ๋จ์ด์ ธ ์์ผ๋ฏ๋ก a[0]์ด๋ค.
๐ฉ ์ ๊ทผ(๊ฒ์) ์ฉ์ด
์ฐ์๋ ์์ญ์ ์ ์ฅ๋์ด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๊ณ์ฐ ๊ฐ๋ฅ
๊ฐ ๋ฐ์ดํฐ์ ๋ฐ๋ก ์ ๊ทผ ๊ฐ๋ฅ
๐ฉ ์ถ๊ฐ, ์ญ์ ๊ฐ ์ด๋ ค์
1. ๋ฐ์ดํฐ ์ถ๊ฐ์ ๋ฐฐ์ด์ ๋ง์ง๋ง์ ์ถ๊ฐ๋ก ๊ณต๊ฐ ํ๋ณด
2. ๊ณต๊ฐ์ด ๋น๋ฏ๋ก ์์ผ๋ก ํ๋์ฉ ์ฎ๊ธด๋ค.
3. ์ํ๋ ๊ณต๊ฐ์ ๋ฐ์ดํฐ ์ถ๊ฐ
cf. ์ญ์ ์์๋ ์ญ์ ํ ๋น๊ณต๊ฐ์ ๋ง์ถฐ ํ๋์ฉ ๋งค๊พธ๊ธฐ
๐ฉ <index, value> ๋ก ๊ตฌ์ฑ
index : ์ปดํจํฐ ๊ตฌ์กฐ, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๋ฌด๊ดํ๊ฒ ์ ์๋๋ค.
๐ฉ ์์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ์์น๋ฅผ '์์'์ ์ผ๋ก ๊ฒฐ์
๋ฐฐ์ด์ ์์ : ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์ ์ ์ฅ๋๋ '์์์ ๋ฌผ๋ฆฌ์ ์ธ ์์'
๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ : ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์๊ฐ(์์น๊ฐ)
๐ ์ฃผ์๊ฐ ๊ตฌํ๊ธฐ
์์ ์ฃผ์๋ฅผ a๋ผ ํ ๋, A[i]์ ์ฃผ์ = a + i * k (k = data type)
๐ฉ ๊ณ์ฐ ์๊ฐ
์ ๊ทผ ์ O(1)
์ถ๊ฐ/์ญ์ ์ O(n)
๐ฉ ํฌ๊ธฐ ๋ณ๊ฒฝ ๋ถ๊ฐ
๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ๋ฐ์ํ ์ ์๋ค.
๐ ๋ฐฐ์ด์ ํฉ ๊ตฌํ๊ธฐ
#include <stdio.h>
#define LENGTH 10
int main(void) {
int a[] = { 72, 68, 92, 88, 41, 53, 97, 84, 39, 55 };
int sum = 0;
printf("๋ฐ๋ณต ์คํ ์ : sum = %d\n", sum);
for (int i = 0; i < LENGTH; ++i) {
sum += a[i];
printf("๋ฐ๋ณต ์คํ ์ค : sum = %d\n", sum);
}
printf("๋ฐ๋ณต ์คํ ํ : sum = %d\n", sum);
printf("sum = %d\n", sum);
return 0;
}
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ > โจ ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํ(Stack) (0) | 2024.04.12 |
---|---|
ํ(Queue) (1) | 2024.04.12 |
๋ฆฌ์คํธ(List) (0) | 2024.04.11 |
์ค๋ ๋ ํธ๋ฆฌ (0) | 2024.04.03 |
์ด์ง ํธ๋ฆฌ (0) | 2024.04.03 |