나는 커다란 오 표기법 뒤에있는 이론을 이해하기 시작했다. 즉, 함수 속도가 커지는 속도를 측정하는 방법이다. 다시 말해, Big O는 알고리즘의 효율성을 정량화합니다. 그러나 그것의 구현은 다른 것입니다.큰 오 표기법 - 푸시 및 팝
예를 들어 최상의 경우 시나리오에서 스택에서 제거하거나 스택에 추가하는 데 걸리는 단계 수가 고정되기 때문에 푸시 및 풀 작업은 O (1)이됩니다. 가치에 관계없이 프로세스는 동일합니다.
푸시 및 팝과 같은 일련의 이벤트로 인해 O (1)에서 O (n^2)로 성능이 저하 될 수 있습니다. n/2 용량의 배열, n 개의 밀어 넣기 및 팝하는 작업, 전체 또는 절반 꽉 채워진 상태에서 용량을 두 배 또는 반으로 줄이는 동적 배열이있는 경우 이러한 작업이 발생하는 순서가 속도에 영향을 미칠 수 있습니다. 어떤 프로그램이 완료 되었습니까? push와 pop이 스택의 최상위 요소에서 작동하기 때문에 효율성이 상수에서 O (n^2)로 어떻게 이동하는지 보는 데 어려움을 겪고 있습니다. 사전에
감사합니다.
... 그리고 그것이 취할 수있는 종류의 버그는 @rainer에 의해 잘 설명되어 있습니다. 여기 미묘한 점은 내가 링크 된 목록에 대해 "푸시와 팝은 항상 일정한 시간이 될 것"이라고 말했을 때 개별 푸시 또는 팝은 일정한 시간이 될 것이지만 'n'을 누르거나 팝하면 물론 ' n '으로 표시됩니다. – Simon