공간복잡도 예제

그러나 크기는 어떻습니까. 5 개의 요소 또는 10 개의 요소 배열을 정렬 할 때 추가 버퍼 또는 메모리 공간을 사용했습니다. 예라고 말할 수 있습니다. 그러나 배열 크기를 5에서 10으로 늘리면 변수 수가 변경되었습니다. 아니요, 입력 크기에 관계없이 항상 단일 변수를 사용하여 스왑을 수행합니다. 즉, 입력의 크기는 O(1) 또는 일정한 공간 복잡성을 초래하는 데 필요한 추가 공간과는 아무 상관이 없습니다. 이 코드는 메모리 i=>2,n=>2 및 sum=2 바이트에서 만 6바이트를 사용하므로 시간 복잡성은 O(n)이며 공간 복잡성은 O(1) code2입니다: 공간 복잡성은 알고리즘에 필요한 작업 저장소의 양을 측정한 값입니다. 즉, 최악의 경우 알고리즘의 어느 지점에서든 메모리가 얼마나 필요한지 의미합니다. 시간 복잡성과 마찬가지로 입력 문제의 크기 N이 증가함에 따라 공간 요구가 크게 증가하는 방식에 주로 관심이 있습니다. 시간과 공간의 복잡성은 알고리즘의 효율성을 계산하는 다양한 측면입니다. 이제 몇 가지 예를 들어 공간 복잡성을 계산하는 방법을 알아봅시다: 그러나 우리는 항상 공간 복잡성을 최소화하는 방식으로 알고리즘 코드를 작성하는 데 중점을 두어야 합니다. 이 책은 우주의 복잡성에 대해 별로 이야기하지 않습니다. 구글 “알고리즘 공간 복잡성”당신은 개념에 입술 서비스를 지불 많은 온라인 사이트를 볼 수 있습니다.

공간 복잡성에 대해 이야기하는 몇 가지 사이트는 이 과정의 범위를 벗어난 튜링 기계의 관점에서 사물을 설명하는 매우 공식적입니다. 그래서 이것은 공간 복잡성에 대한 블러퍼의 가이드입니다. 복잡성 클래스 간의 다음 포함은 유지됩니다. [2] 컴퓨터 과학에서 알고리즘 또는 컴퓨터 프로그램의 공간 복잡성은 입력 크기의 함수로서 계산 문제의 인스턴스를 해결하는 데 필요한 메모리 공간의 양입니다. 프로그램을 실행하고 출력을 생성하는 데 필요한 메모리입니다. [1] 때로는 문제를 해결하는 여러 가지 방법이 있습니다. 우리는 성능 다른 알고리즘을 비교하고 특정 문제를 해결하기 위해 가장 적합한 알고리즘을 선택하는 방법을 배울 필요가있다. 알고리즘을 분석하는 동안, 우리는 주로 시간 복잡성과 공간 복잡성을 고려합니다. 알고리즘의 시간 복잡성은 알고리즘이 입력 길이의 함수로 실행하는 데 걸리는 시간을 정량화합니다. 마찬가지로 알고리즘의 공간 복잡성은 입력 길이의 함수로 실행되는 알고리즘이 사용하는 공간 또는 메모리의 양을 정량화합니다.