내 기능의 시간 복잡도 (Big-O)가 무엇인지 말씀해 주시겠습니까?

Bylo4n1k

함수는 배열, 배열 길이 및 배열의 ​​연속 요소 수를받습니다. 배열을 실행하고 'K'연속 요소의 최대 합계를 찾습니다.

#include <iostream>

using std::cin;
using std::cout;
using std::endl;

int GetLargestSum(int array[], int length, int k)
{
    int largestSum = 0;
    int previousSum = 0;
    for (int i = 0; i <= length - k; i++){
        if (i == 0){
            for (int j = 0; j < k; j++){
                largestSum += array[j];
            }
            previousSum = largestSum;
        } else{
            int currentSum = previousSum - array[i - 1] + array[i + k - 1];
            if (currentSum > largestSum){
                largestSum = currentSum;
            }
            previousSum = currentSum;
        }
    }
    return largestSum;
}

int main(){
    int k = 3;
    int array[] = {1, -3, 4, 1, 7, -5, 9};
    cout << "Largest sum of " << k << " consecutive elements of an array = " << GetLargestSum(array, 7, 3);
}
Lajos Arpad

복잡성 분석의 요점은 알고리즘이 사용하는 시간 (시간 복잡성), 스토리지 (스토리지 복잡성) 또는 메모리 (메모리 복잡성)를 크게 파악하는 것입니다. 이를 위해 우리는 (무한하게) 큰 차원에 대해 생각하는 경향이 있습니다. 왜냐하면 차원이 매우 작 으면 너무 많이 신경 쓰지 않는 경향이 있기 때문입니다. 알고리즘은 요소 수와 연속 요소 수에 따라 다릅니다.

(무한) 많은 요소가 있다고 가정하면 k가 커지는 것을 막을 수있는 것은 없습니다. 모든 요소를 ​​반복하는 첫 번째 단계에서는 첫 번째 단계 (!)에서만 O (k)-복합 루프를 수행합니다. 그런 다음 계속해서 요소를 반복하고 각 단계에서 O (1) 연산을 n 번 수행합니다. 즉, n * O (1) = O (n)입니다.

이제 O (k) + O (n)이 있습니다. 두 트릭 사이에 병렬화가없고 다른 트릭이 없기 때문에 결과는 O (k + n)입니다. k <n, O (k + n) <O (2n) 및 O (2n) = O (n)이므로 기본적으로 선형 알고리즘이 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

누구든지이 암호의 이름을 말씀해 주시겠습니까?

분류에서Dev

계승 계산의 Big O (시간 복잡도)는 무엇입니까?

분류에서Dev

이 알고리즘의 시간 복잡도 (Big-O)는 무엇입니까?

분류에서Dev

"videoView.setVideoURI (uri);", "videoView.start ();"에 어떤 문제가 있는지 말씀해 주시겠습니까?

분류에서Dev

재귀 함수의 상한 시간 복잡도 (` "big O`")를 계산하는 방법은 무엇입니까?

분류에서Dev

이 중첩 된 컬렉션을 가장 잘 표시하려면 어떻게해야합니까? (내 코드가 작동하지 않는 이유를 말씀해 주시겠습니까?)

분류에서Dev

파이썬에서 백 슬래시 "\"대신에 말씀해 주시겠습니까? 다른 가능성이 있습니까?

분류에서Dev

시간 복잡도-지수 케이스에 대해 Big O에서 무시할 수있는 상수는 무엇입니까?

분류에서Dev

Java에서 String docType을 사용하는 이유는 무엇입니까? 장점도 말씀해 주시겠습니까?

분류에서Dev

클릭시 이미지를 무작위로 추출하는 동안 "정의되지 않음"이 나타나는 이유를 말씀해 주시겠습니까?

분류에서Dev

0에서 i까지 내부 루프의 시간 복잡도

분류에서Dev

redis SET의 삽입 시간 복잡도가 O (n) 인 이유는 무엇입니까?

분류에서Dev

이 코드의 시간 복잡도가 O (N * N) 인 이유는 무엇입니까?

분류에서Dev

알고리즘의 시간 복잡도, Big Oh 표기법

분류에서Dev

해 스트 테이블의 시간 복잡도가 최악의 경우가 O (n) 인 이유

분류에서Dev

알고리즘의 Big O 표기법의 시간 복잡성

분류에서Dev

코드의 Big O 시간 복잡성 찾기

분류에서Dev

O (max (m, n))의 시간 복잡도 이해

분류에서Dev

내 함수 수정에서 2 개의 중첩 while 루프의 시간 복잡도가 o (N)입니까?

분류에서Dev

배열 / 벡터에서 두 번째로 큰 숫자를 선택하기 위해 시간 복잡도가 O (n * Log (n)) 인 내부 알고리즘이 있습니까?

분류에서Dev

이 코드에 대한 최악의 경우 big-O 시간 복잡성은 무엇입니까?

분류에서Dev

어떻게 내가 아래 함수의 시간 복잡도를 찾을 수 있습니까?

분류에서Dev

내 시간 복잡도가 내 버블 정렬 코드에 맞습니까?

분류에서Dev

왜 루프 2의 시간 복잡도뿐만 O (N2 ^ N)인가?

분류에서Dev

어레이의 모든 가능한 시퀀스를 통해 반복의 시간 복잡도 란

분류에서Dev

루프 내에서 한계가 변경되는이 알고리즘의 시간 복잡도는 무엇입니까?

분류에서Dev

시간 복잡도가 O (N) 인 정렬 알고리즘이 있습니까?

분류에서Dev

() 자바 StringTokenizer.countTokens의 시간 복잡도 무엇입니까

분류에서Dev

std :: map의 시간 복잡도는 무엇입니까?

Related 관련 기사

  1. 1

    누구든지이 암호의 이름을 말씀해 주시겠습니까?

  2. 2

    계승 계산의 Big O (시간 복잡도)는 무엇입니까?

  3. 3

    이 알고리즘의 시간 복잡도 (Big-O)는 무엇입니까?

  4. 4

    "videoView.setVideoURI (uri);", "videoView.start ();"에 어떤 문제가 있는지 말씀해 주시겠습니까?

  5. 5

    재귀 함수의 상한 시간 복잡도 (` "big O`")를 계산하는 방법은 무엇입니까?

  6. 6

    이 중첩 된 컬렉션을 가장 잘 표시하려면 어떻게해야합니까? (내 코드가 작동하지 않는 이유를 말씀해 주시겠습니까?)

  7. 7

    파이썬에서 백 슬래시 "\"대신에 말씀해 주시겠습니까? 다른 가능성이 있습니까?

  8. 8

    시간 복잡도-지수 케이스에 대해 Big O에서 무시할 수있는 상수는 무엇입니까?

  9. 9

    Java에서 String docType을 사용하는 이유는 무엇입니까? 장점도 말씀해 주시겠습니까?

  10. 10

    클릭시 이미지를 무작위로 추출하는 동안 "정의되지 않음"이 나타나는 이유를 말씀해 주시겠습니까?

  11. 11

    0에서 i까지 내부 루프의 시간 복잡도

  12. 12

    redis SET의 삽입 시간 복잡도가 O (n) 인 이유는 무엇입니까?

  13. 13

    이 코드의 시간 복잡도가 O (N * N) 인 이유는 무엇입니까?

  14. 14

    알고리즘의 시간 복잡도, Big Oh 표기법

  15. 15

    해 스트 테이블의 시간 복잡도가 최악의 경우가 O (n) 인 이유

  16. 16

    알고리즘의 Big O 표기법의 시간 복잡성

  17. 17

    코드의 Big O 시간 복잡성 찾기

  18. 18

    O (max (m, n))의 시간 복잡도 이해

  19. 19

    내 함수 수정에서 2 개의 중첩 while 루프의 시간 복잡도가 o (N)입니까?

  20. 20

    배열 / 벡터에서 두 번째로 큰 숫자를 선택하기 위해 시간 복잡도가 O (n * Log (n)) 인 내부 알고리즘이 있습니까?

  21. 21

    이 코드에 대한 최악의 경우 big-O 시간 복잡성은 무엇입니까?

  22. 22

    어떻게 내가 아래 함수의 시간 복잡도를 찾을 수 있습니까?

  23. 23

    내 시간 복잡도가 내 버블 정렬 코드에 맞습니까?

  24. 24

    왜 루프 2의 시간 복잡도뿐만 O (N2 ^ N)인가?

  25. 25

    어레이의 모든 가능한 시퀀스를 통해 반복의 시간 복잡도 란

  26. 26

    루프 내에서 한계가 변경되는이 알고리즘의 시간 복잡도는 무엇입니까?

  27. 27

    시간 복잡도가 O (N) 인 정렬 알고리즘이 있습니까?

  28. 28

    () 자바 StringTokenizer.countTokens의 시간 복잡도 무엇입니까

  29. 29

    std :: map의 시간 복잡도는 무엇입니까?

뜨겁다태그

보관