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

+ Recent posts