나는 처음에는 벡터를 정렬 한 다음 그 요소를 반복하고 XOR
알고리즘을 가지고 있습니다. 전체 알고리즘의 복잡성을 계산하기 위해 sort 및 for 루프의 복잡성을 합산해야합니까?이 코드의 복잡성은 어떻게됩니까? 복잡성을 더해야합니까?
std::sort(array.begin(), array.end());
for (int i =1; i < array.size(); ++i) {
result = array[i-1]^array[i];
}
우리는 O(N)
복잡성과 평균 O(N log N)
비교가 std::sort
을 가지고 루프를 가지고 : 그래서, 나는 다음 코드가 있습니다. 다음 코드의 복잡도는 O(N + N log N)
입니까? 또는이 경우 선형 시간 인 O(N log N)
인 최고 시간 복잡도 클래스를 선택하고 합계하지 마십시오.
여전히 배열 (i lgn) – Arunmu
*** (int i = 1; i <= array.size(); ++ i) {*** 사용자가'array [i]' 다음 줄에서 i = array.size(). – drescherjm
'N + N logN'과'2NlogN'을 어떻게 같습니까? – user463035818