열 번째 스터디 강의 0x0E_0x0F강 후기!

김재동·2024년 7월 16일
0

스터디후기

목록 보기
3/4

음.. 요즘 패턴이 꼬였다.
몸도 오락가락했다.
mysql 배우고 있는데 재밌다..
프로젝트도 하는데 ㅇ..재밌다
굿;

우선 이번 주제는 정렬 이였다.
사실 정렬은 기본적으로 sort나 collection에 대해서만 생각했는데 강의를 들어보니 생각보다 정렬의 종류도 많고 방식도 다양하다는 것을 알게 됐다.

  1. Merge Sort
    약간 반 나누고 반나누고 반복해서 1될때까지 하는 느낌
    Stable sort 로써, 우선 순위가 같으면 그대로 고정.

  2. Quick Sort
    피벗 값을 임의로 지정해서, 해당 값 기준 왼쪽은 작고, 오른쪽은 더 큰 그런 위치 잡음.
    그 후 왼쪽 따로 정렬/ 오른쪽 따로 정렬
    근데 얜 우선순위 정렬 아니고,
    최악의 경우 O(N^2) 이므로, 걍 쓰지말 것

  1. Counting Sort
    나온거 개수 체크한다음 나열
    ex ) 1아 4개 2가 3개네 -> 1111222 이런느낌
    단, 범위가 크면 못쓰므로 수가 한정적일 때만 가능!
  1. Radix sort
    자릿수 기준 정렬 ( 1의자리, 10의자리 ... )

O(DN)

위의 두갠 원소들끼리 서로 정렬하는 Comparison Sort
아래 두갠 Non-Comparison Sort로 원소들 끼리 비교x

근데 이런거 다 배제하고 코테는 사실 함수 있으면 있는거 쓰는게 좋겠지

Stl sort => sort 기준 내가 정함

아마 이번에 우선순위 큐 풀때 compare 한거처럼 그런 느낌 인듯!
재밌었다 굿굿

문제 정리!

  1. 백준 자바 11650 좌표 정렬하기

  2. 백준 자바 5648 역원소 정렬

  3. 백준 자바 1181 단어 정렬

  1. 백준 자바 2910 빈도 정렬
  1. 백준 자바 7795 먹을 것인가 먹힐 것인가
profile
성장중

0개의 댓글