전체 글 (24) 썸네일형 리스트형 STL Deque & STL Map Deque란 무엇인가? - double ended queue 의 줄임말이다. 작동 방식은 Vector와 동일하다. Vector를 포인터 배열로 한번더 감싼 것이라 생각하면 된다. Vector와 다르게 배열이 가득차면 새로운 포인터 배열을 만들어서 거기에 insert하기 때문에 vector처럼 내용을 복사하지 않는다. Map은 무엇인가? Map은 key와 value를 가지고 있는 자료구조이다. key를 Tree구조로 가지고 있기 때문에 정렬되어 있고(오름차순), key에 대한 중복을 허용하지 않는다. Tree구조의 특징을 그대로 가지고 있기 때문에 random access는 지원하지 않고, 삽입 삭제 및 찾기의 시간복잡도가 o(log n) 이다. 수학-벡터 벡터란 무엇인가? - 크기와 방향을 같이 갖는 양을 표현하는 것을 벡터라 한다. 크기만 표현한 것은 스칼라 라고 한다. 단위벡터 - 벡터의 크기가 1인 경우를 단위 벡터라 한다. 단위 벡터는 방향을 나타내는데 조금 더 집중하고 있다라고 이해하면 된다. 0벡터 - 크기가 0인 벡터, 방향은 고려하지 않는다. ex) |AA ->| = 0 위치벡터 - 시점이 통일된 벡터 평면 벡터의 성분 시점을 좌표의 0점으로 두고 벡터를 좌표를 표현하듯이 표현하는 것을 성분 벡터라 한다. 성분으로 표현하면 벡터들의 덧셈 뺄셈 실수배가 쉬워진다. 벡터의 길이(스칼라) - 벡터는 크기와 방향을 갖고, 스칼라는 오직 크기만 갖는다. 이 말은 회전변환(바라보는 관점, 혹은 시작점이 변하면)하면 벡터는 변하고, 스칼라는 변하지 않는.. 행렬 행렬이란 무엇인가? - 수나 문자를 직사각형 형태로 배열하여 괄호로 묶어 나타낸 것 단위 행렬 - 대각 성분이 1이고 나머지 성분이 0인 행렬 ex) 10 01 100 010 001 전치 행렬 행과 열을 바꿔서 만드는 행렬 ex) 123 - > 14 456 25 36 0행렬 모든 성분이 0인 행렬 역행렬 행렬 A가 있다고 할 때, A*B = I(단위행렬) , B*A = I 이 된다면 B는 A의 역행렬이라 한다. 행렬의 곱셈 A, B 행렬이 있다고 할때, A행렬의 열과 B행렬의 행이 같을 때만 곱셈이 가능하다. A(m*n) B(n*l) = A행렬의 열n과 B행렬의 행n이 같으므로 가능하다. 곱셈의 결과는 A행렬의 행m * B행렬의 열l 로 크기가 정해진다. 따라서 C는 m*l 행렬이 된다. A B C a1.. 비트연산과 쉬프트연산 비트연산이란 무엇인가? 비트 + 연산 이다. 연산(+,-,*,/)을 하는 것인데, 이를 비트로 한다는 뜻이다. 예를 들어 int a가 있다고 가정해보자. int는 4byte이다. 1byte 1byte 1byte 1byte (부호비트0)000 0000 0000 0000 0000 0000 0000 0000 메모리에는 실제로 이렇게 저장되어 있다. 그래서 int의 경우 32bit로 이루어져 있고, 이중 맨 앞 부호비트 하나를 뺀 31bit로 값을 표현할 수 있다. 비트연산이란 이 비트값을 직접적으로 연산한다는 뜻이다. 비트 연산은 & and 연산 | or 연산 ^ xor 연산 ~ not 연산 >> 오른쪽으로 이동 연산 > 16) & 0x0000FFFF; y좌표 값 x좌표값 0000 0000 0000 0000 .. 이전 1 2 3 4 ··· 6 다음