LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (89) N
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (9)
    • Computer Vision (0)
    • RDBMS (19)
    • Spring Framework (7)
    • Network (8)
    • Spring Webflux (2)
    • Java (17) N
    • 대규모 설계 기초 (12)
    • Spring Data JDBC (5)
    • Spring Security (5)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

Algorithms

  • 합병 정렬(Merge sort)

    2019.08.25 by Wanderer Kim

  • 삽입 정렬(Insertion sort)

    2019.08.23 by Wanderer Kim

합병 정렬(Merge sort)

버블 정렬, 삽입 정렬, 선택 정렬은 단순한 알고리즘들이지만 정렬하는데 시간이 많이 든다는 커다란 단점이 있다. 즉 자료가 많을때 이들 정렬 방법들을 부적절하고 보다 빠른 정렬 알고리즘이 필요하다. 이번에는 좀 더 빠른 정렬 방법중 하나인 합병 정렬(merge sort)에 대해 살펴보겠다. 합병 정렬? 합병 정렬은 하나의 리스트를 두 개의 균등한 크기로 분할하고 분할된 부분 리스트를 정렬한 다음, 두 리스트를 합하여 전체가 정렬된 리스트를 만드는 방법이다. 이 정렬 방법은 분할 정복(divide and conquer) 기법에 바탕을 두고 있는데, 분할 정복 기법이란 하나의 문제를 나눌 수 없을 때까지 나누어서 각각을 풀면서 다시 합병하여 문제의 답을 얻는 방법을 말한다. 분할 정복 기법은 대개 순환 호출..

Data Structure & Algorithm 2019. 8. 25. 01:28

삽입 정렬(Insertion sort)

간단한 정렬 알고리즘 중 하나인 삽입 정렬에 대해서 알아보자. 삽입 정렬? 삽입 정렬이란 정렬이 되어있지 않은 부분의 데이터를 뽑아서 정렬된 부분의 적절한 위치에 삽입하는 방법이다. 즉, 배열에서 생각해보면 다음 그림과 같이 배열에서 정렬이 되지 않은 부분의 숫자를 정렬된 부분의 적절한 위치에 삽입하는 과정을 반복한다. 삽입 정렬은 추가적인 배열을 사용하지 않고 입력 배열을 정렬된 부분과 정렬되지 않은 부분으로 나누어서 사용하면 된다. 정렬되어 있지 않은 부분의 첫 번째 숫자가 정렬된 부분의 어느 위치에 삽입되어야 하는가를 판단한 후 해당 위치에 이 숫자를 삽입하게 되면, 정렬된 부분의 크기는 하나 커지게 되고, 정렬이 되지 않은 부분의 크기는 하나 줄어들게 된다. 이러한 삽입 연산을 정렬되지 않은 요소..

Data Structure & Algorithm 2019. 8. 23. 19:07

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바