본문 바로가기

반응형

재미있는 알고리즘/알고리즘 소스 코드

반응형
(3)
버블정렬(Bubble Sort) - 오름차순 정렬 버블정렬(Bubble Sort)의 비교적 쉬운 알고리즘으로 기본 개념은 이웃한 데이터들을 서로 비교하여 차례로 정렬합니다. [자바 소스코드] public class BubbleSort { public static void main(String[] args) { int data[] = { 74, 45, 25, 90, 12, 65, 24, 40, 9, 80 }; // 원본값을 배열로 설정 System.out.print("정렬 이전 원 데이타 : "); printArray original_data = new printArray(data); System.out.println("----------------------------------------------------"); Bubble_Sort i = new ..
삽입 정렬 - 오름차순 정렬 삽입 정렬(Insert Sort) 알고리즘 중에서도 가장 기초가 되는 것이 바로 sorting입니다.sorting은 정말 다양한 종류가 있습니다. 그 중에서도 가장 기초가 되는것이 Insertion Sorting 과 Bubble Sorting입니다. Insertion Sorting (삽입정렬)의 가장 큰 특징은 KEY 값이라고 생각한다. KEY값을 기준으로해서 그 전값과 비교를 해서 삽입을 해주는 식으로 정렬을 한다. [자바 소스 코드] public class Main { public static void main(String[] args) { int data[] = { 74, 45, 25, 90, 12, 65, 24, 40, 9, 80 }; // 원본값을 배열로 설정 System.out.println(..
선택 정렬 - 오름 차순 정렬 선택 정렬(Selection Sort)은 정렬되지 않은 데이터 중에서 가장 작은 데이터를 찾아 가장 앞의 데이터와 순차적으로 교환해나가는 알고리즘입니다.전체 데이터가 n개이면, 데이터 교체가 일어나는 회수는 최대 n-1번이며, 전체 비교 회수는 n(n-1)/2번입니다. 따라서 계산 시간복잡도는 O(n^2)입니다. [알고리즘] 첫 번째 위치로 있을 가장 낮은 값을 찾기 위해서 두 번째부터 끝까지 차례로 낮은 값인지를 비교하여 첫 번째 값을 결정합니다. 그 과정에서 현재 위치의 값보다 작은 값을 만나면(비교대상 값 < 현 위치 값) 서로 교환 해줍니다. 그 후 두 번째로 낮은 수를 찾기 위해서 세 번째부터 마지막까지 현재 두 번째 자리의 수보다 낮은 값이 있는지 확인합니다. 마찬가지로 작은 값을 만나서 서로..