이번엔 가장 빠르다는 퀵퀵소트에 대해 알아보자. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다.퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고(그 이유는 메모리 참조가 지역화되어 있기 때문에 CPU 캐시의 히트율이 높아지기 때문이다.), 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다. 때문에 일반적인 경우 퀵 정렬은 다른 O(n log n) 알고리즘에 비해 훨씬 빠르게 동작한다. 그리고 퀵 정렬은 정렬을 위해 O(log n)만큼의 memory를 필요로한다. 또한 퀵 정렬은 불안정 정렬에 속한다. 퀵 정렬은 분할 정..
버블 정렬이란? 거품 정렬(Bubble sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간 복잡도가 {\displaystyle O(n^{2}))}로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다. 자, 그럼 자바로 버블정렬 구현 해보자. public static void main(String[] args) {int[] arr = {6,8,1,3,5,10,13,7,1,4}; bubbleSort(arr);System.out.println("arr : " + Arrays.toString(arr));} public static void bubbleSort(int arr[]) { // 인접한 배열을 다 돌려면..
- Total
- Today
- Yesterday
- BubbleSort
- SQL
- Mergesort
- Quicksort
- 삽입정렬
- iBATIS
- binarysearch
- Cookie
- selectionSort
- 이진탐색
- 태그를 입력해 주세요.
- 알고리즘
- websocket
- jquery
- Java
- 합병정렬
- 선택정렬
- 버블정렬
- 페이징
- sockjs
- 전화번호
- Algorithm
- Spring메일
- spring
- mysql
- InsertionSort
- dbconnection
- 퀵정렬
- 스프링
- 팩토리얼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |