일상/TIL
선택 정렬 VS 퀵 정렬
aihtnyc_h
2023. 5. 23. 22:10
728x90
반응형
SMALL
공부를 해도 해도 너무 할게 많네요 ㅠㅠ 내일부터 기능 한개 씩 만들어야겠어요..!
프론트쪽도 html로 만들면서 더 연습해야할거 같아서 하나씩 만들기 시작!!
요즘 일어날 때 조금 힘들어서 운동끝나는 시간이 늦어져서 다시 조금씩 조여야겠습니다! 다시 초심으로!!
To do
- [x] 아침운동하기
- [x] 코테5문제풀기
- [x] 지원하기 6곳 완료
- [x] cs 책 읽고 정리하기
- [x] 목터뷰 정리 및 암기
- [x] java 책 읽고 정리하기
외부일정
- [x] 장보기
- [x] 빨래방가기(이불빨래!)
로그를 먼저 정리하고 발표 형식으로 진행하고 있는 cs스터디~~
먼저 정리하고 있는데, 알아 두면 좋을거 같아 먼저 간단하게 올립니다!
선택 정렬과 퀵 정렬은 컴퓨터 과학에서 가장 일반적으로 사용되는 두 가지 정렬 알고리즘!!
선택 정렬(Selection Sort):
- 선택 정렬은 매우 간단한 정렬 알고리즘으로 배열의 요소를 한 번에 하나씩 정렬
- 이 알고리즘의 기본 아이디어는 처음부터 끝까지 전체 리스트를 스캔하여 가장 작거나 가장 큰 요소를 찾은 후, 해당 요소를 적절한 위치에 배치하는 것
- 이 과정을 리스트의 모든 요소가 정렬될 때까지 반복한다. 선택 정렬의 시간 복잡도는 O(n²)로, 작은 데이터 세트에는 효과적이지만 큰 데이터 세트에는 비효율적일 수 있다.
퀵 정렬(Quick Sort):
- 퀵 정렬은 분할 정복(Divide and Conquer) 방식의 정렬 알고리즘
- 알고리즘은 배열을 두 부분으로 나눈다.
- 피벗이라는 임의의 요소를 선택한 후, 피벗보다 작은 요소는 피벗의 왼쪽에, 큰 요소는 오른쪽에 위치한다.
- 이렇게 나눈 후 각 부분 배열에 대해 재귀적으로 같은 과정을 반복한다.
- 퀵 정렬은 평균적으로 O(n log n)의 시간 복잡도를 가지지만, 최악의 경우에는 O(n²)가 될 수 있다. 그러나 일반적으로 크고 복잡한 데이터 세트에 대해 높은 효율성을 보이는 알고리즘이며, 실제 상황에서 널리 사용된다.
기억할 점은 이 두 정렬 알고리즘 모두 장단점이 있으며, 특정 상황에 따라 더 적합한 알고리즘이 변경될 수 있다는 것이다.
728x90
반응형
LIST