반응형

벡터 속도 2

벡터(Vector) 재할당 속도 줄이는 법

벡터 재할당 속도를 낮추려면 1. 벡터를 초기화할 때 벡터에 더 많은 메모리를 미리 할당합니다. 2. 벡터에 새 요소를 추가하기 전에 벡터의 크기를 수동으로 늘릴 수 있습니다. 다음은 예시입니다. 1. 더 큰 크기로 벡터 초기화 std::vector v(1000); // Initialize vector with 1000 elements 2. reserve()를 사용하여 메모리를 사전 할당합니다. std::vector v; v.reserve(1000); // Preallocate memory for 1000 elements 3. resize()를 사용하여 벡터의 크기를 수동으로 증가시켜줍니다. std::vector v; v.resize(1000); // Increase the size of the vect..

공부/C++ 2023.02.07

데이터 내부에 값이 1만개 이하일 경우 Vector가 빠를까? List가 빠를까?

만약 특정한 데이터를 찾을 경우 벡터가 리스트보다 빠르다. 왜냐하면 벡터가 연속된 메모리를 사용하고, 또 operator[]를 사용하여 일정한 시간에 액세스할 수 있기 때문이다. 반면에 리스트는 노드들이 일련의 연결로 구성되어 있으며 특정 요소에 액세스하려면 리스트 전체의 처음부터 끝까지 확인해야 하기 때문입니다. 그렇지만, 컨테이너 중간에 요소를 삽입하거나 삭제해야 하는 경우 리스트가 일반적으로 벡터보다 빠릅니다. 이렇게 하면 반복자와 참조가 무효화되지 않습니다. 반면에 벡터를 사용하면 메모리를 재할당하고 메모리를 재할당해야 할 수 있습니다. 이럴 경우 모든 요소를 새 메모리 위치에 복사합니다. 이로 인해 리스트가 벡터보다 작업을 빠르게 진행할 수 있습니다. 그렇지만, 리스트의 각 요소는 별도의 노드로..

공부/기타 2023.01.11
반응형