개발자's Life

[알고리즘] 시간복잡도에 따른 정렬 종류 및 개념 총정리 - Rowen Jobs 본문

코딩테스트/Study

[알고리즘] 시간복잡도에 따른 정렬 종류 및 개념 총정리 - Rowen Jobs

Rowen Jobs 2023. 8. 6. 01:30
728x90
반응형

 

버블정렬 : 인접 요소끼리 Swap 연산을 수행하며 정렬을 한다. 오름차순, 내림차순에 따라 작은값의 위치가 달라지고

인덱스 0 ~ N 까지 비교 후 제일 마지막 인덱스 N 이 정해진 뒤 다시 0 ~ N -1 까지 비교 후 N - 1 인덱스에 값이 정해진다. 

이러한 작업들이 반복이 되고 N을 N 번 비교하여 시간복잡도는 N제곱이다. 

2023.07.29 - [코딩테스트/Study] - [알고리즘] 로직이 단순한 버블정렬의 개념

 

[알고리즘] 로직이 단순한 버블정렬의 개념

버블 , 선택, 삽입, 퀵, 병합, 기수 정렬 버블정렬 인접 요소끼리 swap 연산을 수행하며 정렬 정렬 알고리즘보다 속도가 느리면 로직이 단순한 정렬 알고리즘 이다. 오름차순으로 정렬시 인접요소

rowen.tistory.com

 

선택정렬 : 배열 중 최솟값 또는 최댓값을 찾는다. 오름차순의 경우 최솟값을 찾아 0 인덱스에 있는 값과 Swap 내림차순의 경우 최댓값을 찾아 0 인덱스의 값과 Swap 을 한다. 그렇게 최댓값 or 최솟값을 0 인덱스부터 차례로 Swap 을 진행한다.

2023.07.30 - [코딩테스트/Study] - [알고리즘] 중요하지 않은 듯 중요한 선택정렬

 

[알고리즘] 중요하지 않은 듯 중요한 선택정렬

선택정렬은 알고리즘 문제에 많이 적용되지는 않지만 어떤 문제 일부로 사용이될 수도 있고 기술면접 같은데서 필요할 경우가 있을수도 있다. 선택정렬 알고리즘은 간단하고 버블정렬과 동일

rowen.tistory.com

 

삽입정렬 : 인덱스 1 번의 값과 그 이전 인덱스의 값들을 비교하여 Swap 하는 방식이다. 인덱스 1을 시작으로 인덱스 N 까지 진행이 되고 이전 범위를 계속 반복적으로 계산을 하여준다. 

2023.08.01 - [코딩테스트/Study] - [알고리즘] 삽입정렬의 개념 및 예시 정리

 

[알고리즘] 삽입정렬의 개념 및 예시 정리

삽입정렬 시간복잡도는 n제곱으로 느린 편이지만 구현하기 쉽다. 코테에서 굳이 많이 사용하진 않지만 코딩인터뷰 관련하여 정렬에 대해 질문 대비하여 알아놓으면 좋다. 예시 설명 ) 5개의 배

rowen.tistory.com

 

퀵 정렬 : Pivot 을 중심을 계속 데이터를 2개의 집합으로 나누면서 정렬

2023.08.01 - [코딩테스트/Study] - [알고리즘] 기준에 따라 시간복잡도에 많은 영향을 끼치는 퀵 정렬

 

[알고리즘] 기준에 따라 시간복잡도에 많은 영향을 끼치는 퀵 정렬

하나의 기준을 중심으로 계속 데이터를 2개의 집합으로 나누면서 정렬하는것이 핵심이다. 기준이 되는 pivot 과 start 가 가리키는 데이터, end 가 가리키는 데이터를 비교하게 되는데 pivot < start :

rowen.tistory.com

 

병합정렬 : 2개의 그룹을 병합하는 원리가 중요하고 배열의 내부 값을 2개의 그룹으로 병합을 진행하고 병합을 하며 오름차순, 내림차순에 따라 정렬을 한다. 자세한 내용은 아래에서 확인이 가능하고 정말 중요한 정렬 알고리즘이라 생각이 든다.

2023.08.03 - [코딩테스트/Study] - [알고리즘] 병합정렬_Merge Sort 의 핵심이론

 

[알고리즘] 병합정렬_Merge Sort 의 핵심이론

병합정렬 장점 안정적이고 시간복잡도도 좋은 알고리즘이고 코딩테스트에서 병합정렬을 이해하고 응용해서 푸는 문제가 많이 나온다. 이 말은 정렬 관련 문제뿐만 아니라 정렬 아이디어를 가

rowen.tistory.com

 

기수정렬 : 기수정렬은 이전 정렬과는 좀 특이한 방식으로 진행이 되고 시간복잡도도 다르다. 자릿수를 기준으로 비교가 되고 일의 자릿수부터 비교를 한다. 여기서는 큐의 원리도 이해를 해야하기 때문에 스택과 큐의 원리를 먼저 이해하고 공부하는것을 추천한다.

2023.07.27 - [코딩테스트/Study] - [알고리즘] 스택과 큐에 대한 개념정리

 

[알고리즘] 스택과 큐에 대한 개념정리

Stack(스택) 은 후입선출, 저장소 형태는 아래와 같고 나중에 들어온 데이터가 먼저 나가는 구조이다. 위 이미지를 확인하면 맨윗 부분에 나중에 들어온 값이 먼저 나가는것을 알 수 있고 삽입과

rowen.tistory.com

2023.08.03 - [코딩테스트/Study] - [알고리즘] 기수정렬의 개념과 원리 - Rowen Jobs

 

[알고리즘] 기수정렬의 개념과 원리 - Rowen Jobs

기수정령의 개념과 원리 _ by.하루코딩,copy RowenJobs 값을 비교하지 않는 특이한 정렬이고 자릿수를 정한 다음 해당 자릿수만 비교한다. 시간 복잡도는 kn 이고 k 는 자릿수 시간복잡도가 가장 짧은

rowen.tistory.com

 

728x90
Comments