ID_DI
DI's study notes
ID_DI
전체 방문자
오늘
어제
  • 분류 전체보기 (85)
    • Deep-Learning (3)
      • CNN (2)
      • NLP (1)
    • Data_Python (6)
      • Numpy (0)
      • Matplotlib (4)
    • Python (8)
      • Python Algorithm (6)
    • Java (36)
      • Java(base) (33)
      • Java practice(base) (2)
    • Git (12)
    • Algorithm (7)
    • etc (7)
    • linux (1)
    • DeskSetup (0)
    • TIL_모각코 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바
  • binarySearch
  • java 기초
  • matplotlib
  • 합병정렬
  • 정렬
  • 파이썬
  • Github
  • git
  • string to int
  • git add.
  • staged
  • java base
  • java.lang
  • Python
  • java.net
  • 알고리즘
  • java
  • README.md
  • 커밋

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ID_DI

DI's study notes

[알고리즘]분할과 정복 개념 및 예시
Algorithm

[알고리즘]분할과 정복 개념 및 예시

2021. 10. 15. 21:17

분할과 정복

  • 큰 입력의 문제를 작은 입력의 문제들로 나눈다.
  • 나눈 작은 문제들의 해를 재귀적으로 구현한다.
  • 재귀적으로 나눈 문제들의 해를 이용하여 원래 문제의 해를 구한다.

리스트(배열)에서 최대값 찾기

분할과 정복

Algorithm maximum(a, first, last)
    if(first == last) then
        return a[first]
    else
        mid = (first + last) // 2
        lmax = maximum(a, first, mid)
        rmax = maximum(a, mid + 1, last)
        if lmax > rmax then
            return lmax
        else
            return rmax
  • mid 를 기준으로 나눈 왼쪽 반의 최대값 lmax 와 오른쪽 반의 최대값 rmax 를 비교하여 더 큰값이 전체 최대값이다.

수행시간분석

T(n) : maximum(a, 0, n-1)의 수행시간 (원소비교회수)

  • n = 2k일 경우
  • T(n) = 0 (n = 1 경우)

​ = 2T(n/2) + 1 (n > 1 경우)

T(n) = O(n)

  • 일반적인 n에 대하여
  • T(n) = 0 (n = 1 경우)

​ = 2T(n/2) + 1 (n > 1 경우)

T(n) = O(n)

'Algorithm' 카테고리의 다른 글

[알고리즘] mergeSort 병합(합병)정렬 (pseudo-code, 파이썬, Java)  (1) 2021.10.17
[알고리즘] binarySearch 이진탐색, 재귀이진탐색_분할과 정복 (pseudo-code 파이썬, Java)  (0) 2021.10.16
[알고리즘] bubble_sort 버블정렬(pseudo-code, 파이썬, Java)  (0) 2021.10.15
[알고리즘] selectionSort 선택정렬(pseudo-code, Java, 파이썬)  (0) 2021.10.14
[알고리즘] Stable & In-place  (0) 2021.10.14
    'Algorithm' 카테고리의 다른 글
    • [알고리즘] mergeSort 병합(합병)정렬 (pseudo-code, 파이썬, Java)
    • [알고리즘] binarySearch 이진탐색, 재귀이진탐색_분할과 정복 (pseudo-code 파이썬, Java)
    • [알고리즘] bubble_sort 버블정렬(pseudo-code, 파이썬, Java)
    • [알고리즘] selectionSort 선택정렬(pseudo-code, Java, 파이썬)
    ID_DI
    ID_DI
    Computer Vision

    티스토리툴바