Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 회고
- 항해99
- 인프콘2023
- 커뮤니케이션\
- HTTP
- JS
- 원티드
- 인프랩
- PO
- jsp
- 알고리즘
- 자바
- 프로젝트
- 인생공략집
- 우선순위설정
- 데이터 분석
- ChatGPT
- PM스쿨
- 프리온보딩
- 프로그래머스
- 제로베이스
- java
- 1주차
- PM
- 일상을 여행처럼
- 커리큘럼기획
- 클래스101
- 교육 운영
- 자바스크립트
- 전세대출후기
Archives
- Today
- Total
HANA -J
Chapter 04 -퀵정렬 본문
분할 정복 전략
-알고리즘이라기 보다는 문제를 풀기위한 방법론에 가깝다.
-순서 1. 가장 간단한 경우로 기본단계를 찾는다
순서 2. 주어진 문제를 작게 줄여서 기본단계가 되도록 만드는 법을 찾아 낸다.
-활용 예 ) 재귀함수로 합계구하기
1단계. 기본단계를 찾는다 (배열원소의 개수를 0개 또는 1개로 한다)
2단계. 재귀함수를 호출 할 때마다 호출 대상이 되는 배열의 크기가 점점 감소해야 한다.
퀵 정렬
- 정렬알고리즘, 선택정렬보다 빠르고 실제로 자주 사용된다.
- 분할 정복 전략을 사용한다.
- 배열에서 원소하나를 골라 그 원소를 기준 원소로 정한다.
-순서 1. 모든 원소를 기준 원소보다 작은 원소와 큰 원소로 분류 (분할)
순서 2. 두개의 하위 배열에 재귀적으로 퀵 정렬을 호출한다.
- 퀵 정렬의 성능은 기준원소에 크게 의존한다
- 항상 첫번째 원소 선택 -> O(n**2)시간, 최악의 시나리고
- 절반으로 나누어 중간 값 선택 -> O(nlogn)시간, 최선의 경우
아직 정확하게 이해가 안되는데 간단한 문제가 있다면 찾아서 풀어봐야 할 거 같다.
728x90
'what I Learnd > 독서' 카테고리의 다른 글
Data-Driven UX (2) (0) | 2022.07.28 |
---|---|
Data-Driven UX (1) (0) | 2022.07.21 |
Chapter 03 - 재귀 (0) | 2021.10.16 |
Chapter 02 -배열과 리스트 (0) | 2021.10.06 |
Hello Coding Chapter01 (0) | 2021.09.30 |
Comments