본문 바로가기
PS/알고리즘

배열

by backend 개발자 지망생 2025. 1. 13.

배열:

메모리 상에 원소를 연속하게 배치한 자료구조

배열의 성질:

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에서 =을 쓰면 깊은 복사가 일어난다.

 

vector.size()는 unsigned int를 반환 3번은 v1.size()가 0일 때, -1을 하면 자동 형변환이 일어나게 되고, overflow가 일어남.

 

'PS > 알고리즘' 카테고리의 다른 글

스택  (0) 2025.01.26
연결리스트  (0) 2025.01.26