배열:
메모리 상에 원소를 연속하게 배치한 자료구조
배열의 성질:
1. O(1)에 k번째 원소를 확인/변경 가능
2. 추가적으로 소모되는 메모리의 양(=overhead)가 거의 없음
3. Cache hit rate가 높음(메모리가 붙어 있기 때문에)
- 캐시(Cache): 시스템의 성능을 향상시키기 위해 자주 사용하는 데이터를 임시로 저장하는 고속 메모리입니다.
- 히트(Hit): 프로그램이 필요한 데이터를 캐시에서 성공적으로 찾는 경우입니다.
- 미스(Miss): 프로그램이 필요한 데이터를 캐시에서 찾지 못하고, 메인 메모리나 더 느린 저장장치에서 데이터를 가져오는 경우입니다.
- 캐시 히트율(Cache Hit Rate): 전체 메모리 접근 중에서 캐시가 성공적으로 데이터를 제공한 비율입니다. 쉽게 말해, 캐시 접근 시 히트가 발생한 횟수의 비율로 계산됩니다. 일반적으로 백분율로 표현되며, 높을수록 캐시의 성능이 좋음을 나타냅니다.
4. 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약이 걸림
기능과 구현
- 임의의 위치에 원소를 추가, 삭제: O(N) -> 책장의 중간에 책을 넣으면 밀어야 하는 것과..
- memset(비추): 0과 1을 제외하고 다른 값을 넣으면 오동작한다. 진짜 쓰지 마십쇼....
STL vector
vector에서 =을 쓰면 깊은 복사가 일어난다.