컴퓨터공학 💻 도서관📚

선택정렬, 삽입정렬 . 1 본문

✅🌲강의 복습 노트/이코테2021 알고리즘 훈련

선택정렬, 삽입정렬 . 1

들판속초록풀 2024. 11. 10. 21:37

선택 정렬
처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복합니다

 

 

 

내가 쓰던 선택 정렬과 본질은 같지만 형태만 다른 코드

본질 :  0번째 인덱스에 가장 작은 수를 넣기

여기선 가장 작은 수가 있는 인덱스 번호를 찾는 방식이다

 

파이썬에서 변수 스와프 하는 방법

array[i],  array[min] = array[min],  array[i]

 

 

 

c++ 표준 라이브러리에서 제공하는 swap 함수

 

 

 

 

 

삽입 정렬
처리되지 않은 데이터를 하니씩 골라 적절한 위치에 삽입한다
(데이터를 하나씩 확인하면서 이 데이터가 어느 위치에 들어가는게 맞는지 매번 계산한다)
선택정렬에 비해 구현나이도가 높은 편이지만, 일반적으로 더 효율적으로 동작한다

 

 

 

 

 

i 번째 요소가 좌측으로 이동하며 맞는 위치를 찾고 그 위치에 삽입한다

 

 

 

 

자바는 포인터와 같은 기능을 제공하지 않고 별도로 표준 라이브러리에서 swap 연산을 제공하지 않기 때문에 

정석적으로 세 줄에 걸쳐서 swap을 한다

 

 

 

 

삽입 정렬은 데이터 형태에 따라 시간 복잡도가 달라진다.

이미 정렬되어 있는 상태의 데이터O(N) 의 시간 복잡도를 가진다

 

'✅🌲강의 복습 노트 > 이코테2021 알고리즘 훈련' 카테고리의 다른 글

퀵 정렬 코드 . 3  (0) 2024.11.12
퀵 정렬 개념 . 2  (0) 2024.11.11
DFS&BFS 문제유형 . 7  (1) 2024.11.05
DFS&BFS 유형 문제 . 6  (2) 2024.11.04
BFS . 5  (0) 2024.11.03
Comments