일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 정렬
- 해시맵
- 알고리즘
- list
- Garbage Collecter
- 백준 알고리즘
- 어레이리스트
- 자바 메모리 영역
- boj
- 1152
- array
- 데큐
- arraylist
- class area
- 백준
- hashmpa
- 배열
- Stack
- java
- 별찍기
- 차이
- 단계별로
- 또뭐테그해야하냐
- 해시테이블
- 백준알고리즘
- 링크드해시맵
- 메모리영역
- 풀어보기
- 자바
- 단어의개수
- Today
- Total
장벚꽃박튤립
Bubble Sort - 수면으로 거품이 올라오는 현상과 비슷한 정렬구조 - 양옆에 있는 원소들을 서로 비교하여 큰값 혹은 작은값을 배열의 끝쪽으로 점점 몰아 정렬하는 구조. - O(N^2) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class BubbleSort implements Sort{ @Override public void sort(int[] arr) { int temp; for(int i = arr.length-1; i>0; i--) { for(int j = 0; j arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } } - 작은값 혹은 큰값들이 i만큼 배열의 끝쪽..
Selection Sort - 배열 혹은 리스트의 맨 앞을 선택하고, 나머지 원소들에서 원하는 값(최대 혹은 최소)을 찾아 서로 스왑 - 선택 과정을 처음원소부터 끝원소 -1 까지 ( 0 ~ arr.length ) - 시간복잡도 O(N^2) 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 public class SelectionSort { public void sort(int[] arr) { int min_index,temp; for(int i = 0; i
정렬 종류 참고 : http://hsp1116.tistory.com/33 선택, 삽입, 버블, 합병(merge), 퀵, 힙 정렬이 있지만 이 중에서 성능이 뛰어난 합병, 퀵, 힙을 비교하고결국 왜 퀵이 제일 빠른지를 설명한다. 퀵 정렬 vs 힙 정렬 참고 : https://brunch.co.kr/@k2u4yt/3 위의 블로그가 정말 자세하게 나와있다. 보시다시피 성능비교에서 퀵 정렬이 우세한 것을 볼 수 있는데,이는 두 정렬이 얼마나 swap을 하는지에 달려있다. (퀵 정렬의 swap 횟수가 현저히 낮다.) 퀵 정렬에서 최악의 경우가 O(n^2) 이고 힙은 최악이든 최선이든 O(NlogN)이지만 swap의 횟수 때문에 퀵이 더 빠른것을 알 수 있다. 퀵 정렬 vs 합병 정렬 참고 : http://penp..