본문 바로가기

JAVA/알고리즘2

[JAVA/알고리즘] 삽입정렬(Insert sort) 삽입정렬 - 삽입 정렬은 두 번째 자료부터 시작하여 그 앞(왼쪽)의 자료들과 비교하여 삽입할 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 자료를 삽입하여 정렬하는 알고리즘이다. 즉, 두 번째 자료는 첫 번째 자료, 세 번째 자료는 두 번쨰와 첫 번째 자료, 네 번째 자료는 세 번째, 두 번째, 첫 번째 자료와 비교한 후 자료가 삽입될 위치를 찾는다. 자료가 삽입될 위치를 찾았다면 그 위치에 자료를 삽입하기 위해 자료를 한 칸씩 뒤로 이동시킨다. 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다. - 배열에 7, 4, 2, 6, 1 이 저장되어있다고 가정 -> 오름차순 정렬 1회전 : 2회전 : 3회전 : 4.. 2023. 1. 24.
[JAVA/알고리즘] 버블정렬(Bubble sort) 버블정렬 - 버블 정렬은 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네 번째, .... 이런식으로 (마지막 - 1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬한다. 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다. 인접한 두 개의 레코드를 비교하여 순서가 맞지 않으면 서로 교환 하는 방식이다 1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는맨 끝에 있는 자료는 정렬에서 제외, 2회전을 수행하고 나면 끝에서 두 번째 자료까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 증가한다. - 배열에 1, 6, 4, 5, 3 이 저장되어있다고 가정 -> 오름차순 정렬 1회전 : 2회전 : 3회전.. 2023. 1. 24.