티스토리 뷰

알고리즘

Merge Sort : Alalysis

아빠악어. 2017. 3. 3. 00:22

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

by Stanford University


의 Merge Sort : Analysis


정의 Merge sort는 6nlogn+6n의 operation을 갖는다. (n은 array의 수의 갯수)


먼저 한 번의 리컬시브에서 계산량을 구한다.

  • operation의 수는 4m + 2

    • i, j assign

    • m번 루프

      • k assign

      • 배열 카피

      • i 또는 j의 증가

  • m이 1보다 크거나 같다고 가정했을떄 6m 보다 작거나 같다

  • 계산의 편의를 위해 6m으로 사용



다음은 총 리컬시브의 양을 구한다.



  • subproblem의 수는 2^n (맨 마지막 level의 노드 수)

  • 각 node의 사이즈는 n/2^n


  • 한 리컬시브 계산량이 6m이므로
  • 총 subproblems * 한 리컬시브 계산량 * array 사이즈 = 6n
  • 6n * 총 level의 수 = 6n(logn +1), 가정이 맞다!!



'알고리즘' 카테고리의 다른 글

MergeSort  (0) 2016.02.07
BinaryTree  (0) 2016.02.07
QuickSort  (0) 2016.02.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함