sort
Edit- 버블정렬 : 맨 좌측의 원소를 기준으로 하여 인접한 우측 원소와 비교한 후 값이 클 경우 두수를 교환한다. 이렇게 모든 수를 교환해 가면 맨 우측에는 가장 큰 원소가 위치하게 된다.
- 버블정렬 : 배열 내에서 정렬된 영역과 정렬되지 않은 영역을 만들어 정렬되지 않은 인접한 원소를 서로 비교 및 교환하여 최대값을 정렬되지 않은 영역의 맨 뒤로 보낸다.
- 삽입정렬 : 배열 내에서 정렬된 영역과 정렬되지 않은 영역을 만들어 매번 순환을 할 때마다 정렬되지 않은 원소를 정렬된 영역의 적절한 위치에 삽입하는 방법이다.
- 선택정렬 : 배열 내에서 정렬된 영역과 정렬되지 않은 영역을 만들어 정렬되지 않은 부분의 최소값을 구한 후 정렬되지 않은 부분의 처음 값과 교환한다. (오름 차순으로 정렬할 경우임)
- 퀵정렬 : 축값을 기준으로 왼쪽은 축값보다 작은 값을 우측은 축값보다 큰 값을 위치시킨다. 하나의 커다란 배열을 축값을 기준으로 두 개의 작은 배열로 더 이상 나눌 수 없을 때 까지 작업한다.
- 힙정렬 : 큐 중에서 자료의 크기를 우선순위로 하는 우선순위 큐인 힙을 바이너리 트리로 표현한 후 힙에서 하나씩 원소를 빼내어 배열의 뒤를 채운다.
- 쉘정렬 : 삽입정렬의 문제점을 개선한 것으로 하나의 수열을 선택하여 정렬한다.
- 병합정렬 : 두 개 이상의 정렬된 자료집합에서 순차적으로 작은 원소를 뽑아 하나의 정렬된 자료집합으로 합치는 방법이다.
http://www.sorting-algorithms.com/
Tim sort : http://en.wikipedia.org/wiki/Timsort
https://github.com/TheAlgorithms/Java
동영상
ttp://www.youtube.com/watch?v=ywWBy6J5gz8