알고리즘
-
[알고리즘]-[정렬]-선택정렬(JAVA)알고리즘/정렬 2018. 10. 30. 11:19
선택정렬개념최소값을 앞으로 이동시키며 정렬하는 방식. (오름차순 기준)주어진 배열에서 최소값을 찾는다.찾은 최소값을 배열의 맨 앞에 위치한 값과 교체한다.맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 처리과정 선택정렬을 인덱스가 중요한데 최소값을 인덱스를 0부터 마지막 인덱스까지 증가 시키면서 최소값을 해당 인덱스의 값과 교체하면 된다.위의 배열에서 최소값을 찾으면 7번 인덱스에 값 2가 최소값인걸 확인 할 수 있다.이 값을 0번 인덱스의 값 14와 교체 한다. 기준점이 되는 인덱스를 1 올리고 그 다음 최소값을 찾아 같은 방법으로 정렬을 시작한다.자세한 과정은 애니메이션을 확인해보면 알 수 있다. 소스 (JAVA)1234567891011121314151617public int[] getS..
-
[알고리즘]-[정렬]-버블정렬(JAVA)알고리즘/정렬 2018. 10. 29. 18:07
버블정렬 (Bubble Sort) 개념인접한 두 원소를 비교하여 큰 수를 뒤로 보내는 알고리즘 이다. 시간 복잡도는 O(n^2) 의 시간 복잡도를 가지며 정렬 알고리즘 처리속도가 제일 느리다.장점은 코드가 단순해서 구현하기가 편하고 자주 사용된다.단점은 처리속도가 느리다. 처리속도가 느리기 때문에 용량이 큰 리스트를 정렬할 때는 적합하지 않다. 처리과정 위와 같이 길이가 10인 {14, 4, 8, 23, 11, 5, 3, 2, 4, 9} 정수형 배열이 존재하고 이 배열을 버블 정렬로 정렬을 하고자 하면 0번째 인덱스에서 배열의 길이만큼 반복문을 돌면서 (i) 와 (i+1) 인덱스의 값을 비교하고( i ) 인덱스의 값이 (i + 1) 인덱스의 값 보다 크다면 ( i ) 인덱스와 ( i + 1 ) 인덱스의 ..