셸정렬 실행횟수와 O표기법에 대한 질문

조회수 425회

shellSort(a[], n) 01 interval ← n; 02 while (interval ≥ 1) do { 03 interval ← interval/2; 04 for (i←0; i<interval; i←i+1) do { 05 a[j] = xxx; } }

이 코드에서 n=>1일때 각 라인의 실행횟수를 구해야하는데요. 01 -> 1번 02 -> n+1번 03 -> n번 04 -> n번 05 -> n-1번 이렇게 횟수가 맞는지 궁금합니다. n이 1,2 일때와 3이상일 때마다 실행횟수가 달려져서 헷갈립니다. 그리구 이 후에 실행횟수를 더해서 수식으로 표현하려고 하는데 1+(n+1+n)*(n+n-1) 와 같은 수식이 맞는지도 궁금합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)