Algorithm

Algorithm

버블 정렬(Bubble Sort)

버블정렬이란? 거품 정렬(Bubble sort)은 두 인접한 원소를 검사하여 정렬하는 방법입니다. 시간 복잡도가 $$O(n^2)$$ 로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용사용됩니다. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름입니다. 버블정렬 동작 과정 버블정렬 소스코드 BubbleSort.java public class BubbleSort{ public void sort(int[] arr) { /* 마지막 인덱스(arr.length)는 실행할 필요가 없기 때문에 -1을 해줍니다. (9번째 index까지 정렬이 되면 마지막은 당연히 정렬이 됐기 때문에) */ for(int i = 0; i arr[10]) 하지만 arr[10]은 존재 하지 않기 때문에 Ar..

Algorithm

빅오 표기법 (Big-O notation)

빅오 표기법이란? 빅오 표기법(Big-O notation)은 알고리즘의 소요시간(시간 복잡도) 또는 메모리의 상관관계(공간 복잡도)를 나타내줍니다. 항을 무시할 수 있는 경우 $$O(N+1000) -> O(N)$$ $$O(100N) -> O(N)$$ $$O(100N+1000) -> O(N)$$ 위의 그래프에서 O(n)와 비교하면 O(1)은 영향력이 없다고 볼 수 있습니다. 그러므로 계수, 상수 항은 무시됩니다. $$O(n!+nlogn) -> O(n!)$$ $$O(n!*nlogn) -> O(n!)$$ 위의 그래프에서 O(n!)와 비교하면 O(nlogn)은 영향력이 없다고 볼 수 있습니다. 그러므로 비교적 증가율이 낮은 로그항은 무시됩니다. 그래프에는 보이지 않지만 O(n!)보다 복잡도가 높은 것이 하나 더..

SooJae
'Algorithm' 카테고리의 글 목록