본문 바로가기
Algorithm/알고리즘 개념 정리

[실전 알고리즘] 배열

by imagineer_jinny 2022. 8. 8.

정의와 성질

 

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

배열의 성질

1. O(1)에 k번째 원소를 확인/변경 가능

2. 추가적으로 소모되는 메모리의 양(=overhead)가 거의 없음

3. Cache hit rate가 높음

4. 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약이 걸림

 

기능과 구현

 

전체를 특정 값으로 초기화 시키기: algorithm 헤더의 fill 함수

fill(a,a+21,0);
for(int i=0;i<21;i++)
	fill(b[i], b[i]+21, 0);

 

 

STL vector

#include <bits/stdc++.h>
using namespace std;

int main(void) {
  vector<int> v1(3, 5); // {5,5,5};
  cout << v1.size() << '\n'; // 3
  v1.push_back(7); // {5,5,5,7};

  vector<int> v2(2); // {0,0};
  v2.insert(v2.begin()+1, 3); // {0,3,0};

  vector<int> v3 = {1,2,3,4}; // {1,2,3,4}
  v3.erase(v3.begin()+2); // {1,2,4};

  vector<int> v4; // {}
  v4 = v3; // {1,2,4}
  cout << v4[0] << v4[1] << v4[2] << '\n';
  v4.pop_back(); // {1,2}
  v4.clear(); // {}
}

 

 

 

출처

BaaaaaaaarkingDog | [실전 알고리즘] 0x03강 - 배열 (encrypted.gg)

 

[실전 알고리즘] 0x03강 - 배열

안녕하세요, 바킹독입니다.. 저번 단원의 내용인 코드 작성 요령 II는 순한 맛이었는데 오늘건 그냥 단맛입니다. 난이도가 굉장히 낮으니 긴장 푸시고 강의로 들어가겠습니다. 목차는 따로 설명

blog.encrypted.gg

 

댓글