simDev1234
심플하고 차분하게
simDev1234
전체 방문자
오늘
어제
  • 분류 전체보기
    • Computer Science
      • Basic Math
      • Data Structure
      • Algorithm
      • Database
      • OS
    • Language
      • Java
      • Kotlin
      • SQL
    • Framework
      • Spring
      • Orm&Mapper
      • 프로젝트로 스프링 이해하기
      • 스프링 라이브러리
    • Infra
      • Cloud
      • Docker
      • Redis
      • AWS, Azure
      • Device
    • Etc
      • CleanCoding
    • Git,Github

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JVM메모리구조
  • controllerTest
  • 자바프로그램
  • 404
  • 자바프로그래밍
  • scanner #next() #nextLine()
  • 컨트롤러
  • 자바메모리구조
  • 스프링
  • 자바
  • null
  • 참조변수
  • 참조타입

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
simDev1234

심플하고 차분하게

[정렬] 정렬 문제 풀이 및 속도 비교
Computer Science/Algorithm

[정렬] 정렬 문제 풀이 및 속도 비교

2022. 5. 11. 18:16

■ 정렬의 속도 / 메모리 사용 비교

- 미니멈이 1이고, 맥시멈이 백만인 숫자를 입력받아 정렬한다고 할 때, 어떤 정렬을 쓰는게 좋을까....?

- 문제를 풀어본 결과, Merge sort가 가장 빨랐고, 그 다음에 Arrays.sort, 그 다임이 Quck Sort 였다.

- 그럼 Arrays.sort는 무슨 정렬을 사용하는 걸까...

 

https://www.acmicpc.net/problem/2751

 

2751번: 수 정렬하기 2

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

 

■ Collections와 Arrays의 Sort 메소드가 사용하는 정렬방식

[1] Arrays.sort() : 듀얼 피봇 퀵정렬 (Dual-Pivot QuckSort)

[2] Collections.sort() : Tim 정렬 (삽입 정렬 + 합병정렬을 결합한 방식)

https://sabarada.tistory.com/138

 

[Java] Java의 정렬 알고리즘 - Arrays와 Collections

안녕하세요. 오늘 포스팅은 Java의 Collection에서 사용하고 있는 정렬에 대해서 알아보려고 합니다. Java를 사용하다보면 정렬해서 처리해야할 경우가 생깁니다. 그럴경우 아래와 같이코드를 작성

sabarada.tistory.com

 

■ 결론

- 위 문제에서는 결국, 병합정렬을 사용할 때 가장 빠르고, 그 다음에 듀얼 피봇 퀵정렬을 사용할 때 빨랐다.

- 퀵 정렬은 오히려 시간이 오래 걸려 시간 초과가 나타났다.

'Computer Science > Algorithm' 카테고리의 다른 글

[기본 알고리즘/자료구조] 소수 나열하기  (0) 2022.06.02
[기본 알고리즘/자료구조] 기수 변환하기 (N진수로 변환)  (0) 2022.05.31
[정렬] 병합정렬(Merge Sort)  (0) 2022.05.11
[정렬] 퀵 정렬(Quick Sort)  (0) 2022.05.10
[자료구조] 큐(Queue)  (0) 2022.04.28
    'Computer Science/Algorithm' 카테고리의 다른 글
    • [기본 알고리즘/자료구조] 소수 나열하기
    • [기본 알고리즘/자료구조] 기수 변환하기 (N진수로 변환)
    • [정렬] 병합정렬(Merge Sort)
    • [정렬] 퀵 정렬(Quick Sort)
    simDev1234
    simDev1234
    TIL용 블로그. * 저작권 이슈가 있는 부분이 있다면 댓글 부탁드립니다.

    티스토리툴바