2024/09/22 2

[알고리즘] 정렬 (Sorting)

📍정의정렬 : 특정한 기준에 맞게 순서대로 나열하는 방법  📍주요 정렬 알고리즘 ( 로직 & 예시 코드 ) 1. 버블 정렬 ⚙️ 로직인접한 두 요소를 비교하여 크기 순서가 잘못되어 있을 경우, 위치를 바꾼다한 번의 패스가 끝나면 가장 큰 값이 마지막에 위치하여, 남은 요소들에 대해 반복한다.시간 복잡도 : O(n^2)단순, 비효율적 → 작은 데이터셋에 적합하다. 📄 유형 이해 코드public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i arr[j + 1]) { // 위치 바꾸기 ..

[알고리즘] 시간 복잡도 (Time Complexity)

개요 코딩테스트 스터디원의 풀이를 보는데 어느 것이 더 프로그래밍 쪽으로 나은 풀이인지 파악이 어려워 기준을 파악해 보고자, 효율적인 알고리즘을 선택하고자 찾아본 개념  📍정의시간 복잡도 : 알고리즘의 입력 크기에 따라 프로세스가 실행되는 데 걸리는 시간을 수치화 한 것- 컴퓨터의 성능에 따라 실행시간은 달라질 수 있기에, 명령문의 실행 빈도수를 계산하여 실행 시간을 구한다.   📍시간복잡도 분석법빅오 표기법 (최악의 경우): 최악의 입력이 주어졌을 경우의 알고리즘이 수행하는 연산의 수 측정세타 표기법 (평균의 경우) : 모든 입력이 주어졌을 떄의 평균으로 걸리는 시간 측정오메가 표기법 (최선의 경우) : 가장 유리한 입력이 주어졌을 때의 알고리즘이 수행하는 연산의 수 측정  📍빅오 표기법(Big-..