inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Khi tôi thức dậy thì đã là một ngày trước kỳ thi viết mã.

Sắp xếp nhanh

퀵 정렬

310

hcode

5 câu hỏi đã được viết

0

퀵정렬 시간복잡도가 최악이 O(nlogn), 베스트가 O(n^2)라고 표기되어 있는데 이게 맞나요?

코딩-테스트

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴이에요.

퀵 정렬의 시간 복잡도는 분할된 부분 리스트들의 크기에 따라 결정됩니다. 최악의 경우인 경우는 분할된 부분 리스트들의 크기가 매번 1이고, 이때의 시간 복잡도는 O(n^2)입니다. 이는 피벗(pivot)이 항상 최대값이나 최소값으로 선택되는 경우입니다.

반면, 피벗이 항상 중간값으로 선택되는 최선의 경우에는 분할된 부분 리스트들의 크기가 모두 균등하게 나누어지게 되며, 이때의 시간 복잡도는 O(nlogn)입니다.

따라서, 퀵 정렬의 시간 복잡도는 분할된 부분 리스트의 크기와 피벗의 선택에 따라 다양하게 변할 수 있다는 것을 알 수 있습니다.

다른 질문이 있으시면 언제든지 물어보세요. 좋은 하루 되세요!

1-11 소수 나열하기 (에라토스테네스의 체)

0

10

0

코딩살구클럽

0

23

2

코딩살구클럽가입

0

21

2

코딩 살구 클럽 가입 요청드립니다!!

0

41

2

해당 문제의 private test case가 잘못 기입되어 있는 것 같습니다.

0

34

1

시간복잡도와 구현복잡도 관계

0

30

0

코딩 살구 클럽 가입 요청 드립니다.

0

47

2

코딩 살구 클럽 가입 요청드립니다.

0

41

2

코테사이트 오류 해결 문의

0

43

1

코딩살구클럽 채점서버 연결이 너무 어렵습니다 ㅠㅠ

0

65

2

코딩 살구 클럽 가입 요청드립니다.

0

70

2

무료행사(2) 투포인터 코드 질문 드립니다.

0

31

0

코딩 살구 클럽 가입 요청 드립니다

0

84

2

코딩살구클럽 가입 요청드립니다.

0

55

2

코딩살구클럽 채점 안됨

0

62

2

실습 권한 부탁드립니다.

0

46

2

4-O 채점 관련 질문

0

58

2

코딩살구클럽가입

0

56

2

코딩살구클럽 가입

0

71

2

비쥬얼 스튜디오로 해도 되나요?

0

70

2

parseInt() vs Number()

0

58

0

문제 3 - 섬으로 건너가라.js

0

231

1

코딩 처음인데 환경 세팅을 어떻게하는지 모르겠어요

0

311

1

노션 링크가 안뜨는데 확인해주세요ㅠ!

0

395

1