본문 바로가기
Python/알고리즘 공부

선택 정렬 / 삽입 정렬

by hooni40 2021. 4. 28.
728x90
반응형

안녕하세요! 오늘은 정렬하는 법에 대해 공부하였습니다.

 

사실 정렬 알고리즘은 여러 방법들이 있는데요 (ex. 힙 정렬, 합병 정렬, 선택 정렬 등등)

여기로 들어가시면 각 정렬 알고리즘을 애니메이션으로 직관적으로 확인하실 수 있습니다!

 

선택 정렬과 삽입 정렬만 우선 정리해보겠습니다!

 

선택 정렬(Selection Sort) : 선택 정렬은 각 위치에 들어갈 값을 찾는 정렬 방법입니다.

처음부터 끝까지 리스트 안 요소들을 확인하고 가장 작은 것을 0번 인덱스로 설정!

그다음 1번~ 끝까지 리스트 안 요소들을 확인하여 가장 작은 것을 1번 인덱스로 설정!

이렇게 반복하며 정렬하는 것입니다.

 

글로 쓰니 더 헷갈릴 것 같아 아래 그림으로 정리를 해보았습니다.

삽입 정렬(Insertion Sort) :  삽입 정렬은 선택 정렬과 다르게 각 값이 어디 위치에 들어갈지를 찾는 것입니다.

0번 인덱스를 보고, 1번 인덱스를 봐서 0번 인덱스보다 작으면 기존 0번은 자리를 옮기고 1번 인덱스를 0번 인덱스에 위치시키고.. 이렇게 인덱스를 하나씩 도장 께기 하듯(?) 정렬하는 것입니다!

 

이것도 아래 그림을 보면서 확인해보시죠! 

 

개발 공부를 시작한지 이제 1주일 정도가 되어가는데요... 저는 개인적으로 알고리즘을 공부하는 게 퀴즈 푸는 느낌이 들어 아주 재밌게 공부하고 있습니다! 이 페이스 유지해서 알고리즘을 마스터하는 그날까지!!! 

728x90
반응형

'Python > 알고리즘 공부' 카테고리의 다른 글

시간 복잡도(2)  (0) 2021.05.01
시간 복잡도  (0) 2021.04.30
선형 탐색 / 이진 탐색  (0) 2021.04.26

댓글