왕초보파이썬
64
2020-09-26 11:56:20
2
257

알고리즘 시간구하는게 잘 이해가 안됩니다.


"크기가 n인 배열에서 [n/2]개를 뽑으면서 이들중 최댓값을 구하는 것은 n/2에 비례하는 시간이 든다."

라고 하는데 n/2개를 뽑을때 1번, n/2개중에서 최대값을 뽑을때 n/2 - 1시간이 걸려서

n/2시간이 걸리는 건가요? worst time으로 구하는게 맞죠??

0
  • 답변 2

  • kimchs9325
    454
    2020-09-26 13:07:17

    맞는 것 같은데요.


    int nums[] = {10, 15, 20, 35, 34, 100, 11, 200};
    int nums_comp[] = {10, 15, 20, 34}; //여기서 1번

    int comp = nums_comp[0];
    for(int i = 1; i < nums_comp.length; i++) {

    //여기에서 n/2 - 1번
    if(comp < nums_comp[i]) {
    comp = nums_comp[i];
    }
    }
  • 왕초보파이썬
    64
    2020-09-26 14:04:44

    감사합니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.