2013-11-04 1 views
0

벡터와 목록 간의 복잡성 보장의 차이점을 이해하려고 시도하면서이 table을 참조하는 중입니다. 이제 테이블을 추출하는 방법을 잘 모르겠습니다. 복잡성의 차이는 벡터와리스트 간의 보증을 의미합니다. 내가 테이블에서 이해 한 바로는 벡터와리스트가 둘 다 시퀀스 컨테이너이지만 벡터는 (포워드, 리버스 및 랜덤) 컨테이너 범주에 속하지만 목록은 Forward 및 Reverse 컨테이너 범주에만 적합합니다. 이 정보를 사용하여 테이블을 해석하고 복잡성 보증에 따라 벡터와 목록을 구분하는 요점을 추출하는 방법에 대한 제안 사항은 무엇입니까?벡터와 테이블의 목록의 복잡성 보장의 차이점

+1

그 테이블은 다소 불완전한 것처럼 보입니다. 임의 요소 액세스가 벡터에 대해서는 O (1)이지만리스트에 대해서는 O (n)이라는 C++ 라이브러리 자습서/참조를 읽는 것이 더 나을 것입니다. 임의의 점을 삽입하는 것은 목록의 경우 O (1)이지만 벡터의 경우 O (n)입니다. 그리고 훨씬 더. –

답변

2

임의 액세스 반복기가 필요한 알고리즘은 std::vector과 함께 사용할 수 있지만 std::list과 함께 사용할 수 없습니다. std::sort은 하나의 예입니다. 그래서 std::list은 자체의 sort 기능을 가지고 있습니다.