퀵정렬 설명시 오류
퀵 정렬을 설명할 때 start와 end가 만나면 swap이 아니라 start와 end값을 비교해서 적정 위치에 넣어주는것 아니었나요?
답변 1
0
안녕하세요 반갑습니다.
음 어떤 부분으로 말씀하신것인지는 제가 정확하게 이해하지는 못하였는데 -
말씀해주신 것이 맞습니다. ^^ ( 데이터와 pivot 값을 비교하여 pivot을 중심으로 두개의 집합으로 쪼개준다)
예를들어 10 64 15 19 20 100 59 14 88 이 데이터이고 피벗이 50일 경우 오름차순 정렬이라고 할때
왼쪽에서부터 탐색하여 피벗보다 큰수가 나오면 멈추고 선택하여 줍니다. (64 선택)
오른쪽부터 탐색하여 피벗보다 작은수가 나오면 멈추고 선택하여 줍니다. (14 선택)
두 데이터를 스왑하여 줍니다.
10 14 15 19 20 100 59 64 88
그다음을 보면 왼쪽에서 계속 탐색하여 피벗보다 큰수는 100
오른쪽에서도 계속 탐색하여 피번보다 작은 수는 20
그런데 해당 상태에서는 왼쪽 index와 오른쪽 index가 서로 만났(교차)기 때문에 더 이상 진행하지않고
이 둘 사이에 pivot을 넣고 두개의 집합으로 나누어집니다.
왼쪽 집합 => 10 14 15 19 20
오른쪽 집합 => 100 59 64 88
그럼 또 각각의 집합안에서 적절한 pivot을 선택하고 반복을 해주는 방식이라고 생각해주시면 될 것 같습니다. ^^
감사합니다. 즐거운 저녁 되세요 :0
백준 1940 주몽의 명령 시간복잡도
0
62
0
다음영상이 문제 풀이 영상이라고 하셨는데 문제풀이 영상이 누락되어있는 것 같습니다
0
129
1
코딩테스트 디버깅
0
352
1
탐색 순서 질문
0
149
1
[P11726 2*N 타일채우기] top down 방식을 사용하니 런타임 에러가 발생합니다.
0
106
1
2018 연속된 자연수의 합 구하기 백준 사이트에서 메모리 초과 오류가 발생합니다.
0
204
1
1강 시간복잡도 중간에 중첩for문 직전에 상수는 상관없어요 하신 부분이 이해가 안됩니다
0
162
1
왜 int, long은 안되는지 궁금합니다.
0
225
1
DNA 비밀번호 (백준 12891) 통과가 안됩니다.
0
528
2
LCA 빠르게 구하기 Java 코드 시간초과
0
245
1
스택문제 백준 1874
1
460
1
백준11659 구간합 런타임 에러
0
308
1
백준 2178 미로탐색 질문 입니다.
0
449
1
구간합구하기1 (백준11659)
0
424
1
혹시 다른 ide에서 잘 돌아가는 프로그램이
0
352
1
내림차순으로 정렬하기 강의에서..
0
273
1
백준 11720 숫자의 합 질문 있습니다
0
436
1
(숫자의 합)1<=N <=100 사이의 값
0
386
1
소수구하기-백준 1929 질문
0
351
1
12891_DNA비밀번호
0
635
3
숫자의 합 구하기
0
393
1
안녕하세요 질문있습니다.
0
338
0
union 코드에 질문 있습니다.
0
407
2
[그리디 실전 문제] 최솟값을 만드는 괄호 배치 찾기 (백준 1541) - 반례를 못찾겠습니다 ㅠㅠ
1
312
1





