기간 : 2025.01.11
범위 : 에피소드 26 ~ 에피소드 29
버블정렬
- 2칸짜리 창문을 놓고 오른쪽으로 1칸씩 밀면서 왼쪽과 오른쪽을 비교하는 방식
- 시간 복잡도는 O(N^2) -> 시간 복잡도 계산 방식 찾아보기
- 가장 비효율적이라 잘 사용되지 않음
선택 정렬
- 가장 작은 데이터 또는 가장 큰 데이터의 위치를 따로 기억하는 방식
- 시간 복잡도는 O(N^2)이지만 버블 정렬보다는 훨씬 효율적이다.
- 자리를 바꾸는 연산은 사이클당 1번씩만 하기 때문
삽입 정렬
- 앞에 있는 데이터를 보면서 배치하는 특징
- 교환이 아니라 밀어 넣는다.
- 시간 복잡도는 동일하게 O(N^2)이지만 제일 빠르다.
스택 : 펜 케이크 쌓기, 위에서부터 쌓고 위에서부터 뺀다, 뒤로가기 컨트롤 제트 같은 방식을 구현할 때
큐 : 줄서기 먼저 선 사람이 먼저 빠짐
[클린코드]
혼자 일 할 때도 클린코드는 중요 나중에 봤을 때도 알아보기 쉽기 때문
변수를 사용하는 것도 클린코드 중 하나
단순하게 숫자를 쓰며 이해하지 못하므로 변수에 담아 사용
함수 이름은 동사로 짓는 것이 좋다. 함수는 1가지 역할만 하는 것이 좋다.
- 시간복잡도가 같아도 조금씩 다르다는 사실을 알게 되어 충격이였다!
- 스택과 큐를 일상생활에서 얻을 수 있는 아이디어로 설명하시는 부분이 신기했다. 나도 어떤 개념에 대해 쉽게 설명할 수 있도록 개념을 잘 알야하겠다.
- 혼자 일 할 때도 클린 코드가 중요하다는 걸 깨달았다. 추후 코드를 짤 때 고려해봐야겠다.
