📝오늘 공부한 것
- 프로그래머스 문제풀기
- 스파르타코딩클럽 자료구조 & 알고리즘 4주차 강의 듣기
- 이력서 수정하기
알게 된 점❗
정렬
데이터를 순서대로 나열하는 방법
버블 정렬(Bubblesort)
- 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세번째 자료를, 세번째와 네번째를, ... 이런 식으로 (마지막-1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬하는 방식이다.
- 작은 숫자, 큰 숫자 순서로 있으면 내버려두고 큰 숫자, 작은 숫자 순서로 있으면 둘의 위치를 변경하면 된다
선택 정렬(Selectionsort)
선택해서 정렬!!
1단계 : [4, 6, 2, 9, 1]
4와 6과 2와 9와 1을 차례차례 비교합니다.
그 중 가장 작은 1과 맨 앞 자리인 4를 교체합니다!
[1, 6, 2, 9, 4] 이렇게요!
자, 그러면 이제 가장 작은 숫자인 1이 맨 앞으로 왔습니다.
가장 작은 걸 가장 맨 앞으로 옮기기로 했으니까요!
그러면, 맨 앞자리를 제외하고 다시 한 번 반복하면 됩니다.
2단계 : [1, 6, 2, 9, 4]
6과 2와 9와 4를 차례차례 비교합니다.
그 중 가장 작은 2와 두번째 앞 자리인 6을 교체합니다!
[1, 2, 6, 9, 4] 이렇게요!
3단계 : [1, 2, 6, 9, 4]
6과 9와 4를 차례차례 비교합니다.
그 중 가장 작은 4와 세번째 앞 자리인 6을 교체합니다!
[1, 2, 4, 9, 6] 이렇게요!
4단계 : [1, 2, 4, 9, 6]
9와 6을 비교합니다!
그 중 가장 작은 6과 네번째 앞 자리인 9을 교체합니다!
[1, 2, 4, 6, 9] 이렇게요!
삽입 정렬(Insertionsort)
선택 정렬이 전체에서 최솟값을 '선택'하는 것이었다면,
삽입 정렬은 전체에서 하나씩 올바른 위치에 '삽입'하는 방식이다.
선택 정렬은 현재 데이터의 상태와 상관없이 항상 비교하고 위치를 바꾸지만, 삽입 정렬은 필요할 때만 위치를 변경하므로 더 효율적인 방식이다.
'TIL(Today I Learned)' 카테고리의 다른 글
TIL-231009(자료구조 & 알고리즘 5주차) (0) | 2023.10.09 |
---|---|
TIL-231007(자료구조 & 알고리즘 4주차) (0) | 2023.10.07 |
TIL-231005(자료구조 & 알고리즘 3주차) (0) | 2023.10.06 |
TIL-231004(자료구조 & 알고리즘 3주차) (0) | 2023.10.04 |
TIL-231003(자료구조 & 알고리즘 2주차) (0) | 2023.10.03 |