예제 연습에서는 배열의 모든 요소가 서로 동일한 지 확인했습니다. 이 질문은이 작업을 수행하는 가장 효율적인 방법에 관한 것이 아닙니다. 오히려이 두 가지 솔루션에 관한 것입니다.동일한 for 루프에서 비교 횟수가 시간 복잡도에 영향을 줍니까?
for(var i=0; i < set.length-1; i++)
{
if (set[i] != set[i+1]) // could have compared all elements to the firstelement instead of switching
{
isTrue=false;
}
}
위의 알고리즘은 각 인덱스를 인덱스와 나중에 비교합니다.
var firstIndex=set[0];
for(var i=0; i < set.length-1; i++)
{
if(set[i] != firstIndex)
{
isTrue=false;
}
}
이 알고리즘은 현재 색인과 첫 번째 색인을 비교합니다. 이러한 알고리즘은 적어도 O (N)이지만. 비교의 차이가 시간/공간 복잡성에 영향을 줍니까?
같은 일을 물건으로하지 런타임 시간 복잡도을 향상시킬 수 있습니다 - 중복이 발생했습니다. – RobG
인터뷰를 준비 중이며 주어진 코드를 기반으로 복잡성을 계산하는 방법을 이해하려고했습니다. 큰 O는 어느 경우에도 선형일까요? –