Java 알고리즘의 시간 복잡성을 이해하는 것은 효율성과 성능을 평가하는 데 도움이됩니다. 이 문서는 Java 알고리즘의 시간 복잡성을 계산하는 기본 단계에 대해 설명합니다.

Algorithm 분석

첫 번째 단계는 알고리즘의 구조를 분석하는 것입니다. 루프, 재큐브 통화 또는 배열 작업과 같은 런타임에 가장 기여하는 주요 작업을 식별합니다. 이러한 작업이 입력 크기와 관련하여 얼마나 많은 시간을 수행 할 수 있는지에 초점을 맞추고 있습니다.

관련 상품

입력 크기의 기능으로 수행되는 기본 작업의 수를 추정, n로 denoted. 예를 들어, 1에서 n을 실행하는 루프는 n 시간을 실행, 전반적인 복잡성에 기여. 배열 루프는 작업의 수를 다가, 종종 중성 또는 더 높은 복잡성에서 결과.

Expressing Complexity(특징)

알고리즘의 성장률의 위 경계를 설명하는 Big O 표기로 동작을 계산합니다. 일반적인 복잡성은 O(1), O(log n), O(n), O(n log n), O(n^2)를 포함합니다. n이 큰 정수기에 집중합니다.

예: 루프 분석

간단한 Java 루프를 고려하십시오.

] ]] ]] ]] ]] ] ] ] ] ] ] ] ] ]] ]] ] ]] ] ]

이 루프는 n 번 실행되므로 시간 복잡성은 O (n)입니다. 배열 된 루프가 있다면, 복잡성을 다룹니다.

  • 주요 업무 식별
  • 몇 번의 작업을 수행
  • 큰 O 표기로 총을 표현
  • 큰 n에 대 한 가장 높은 순서 기간에 초점