본문 바로가기

알고리즘

[기초 정렬 문제] Java 백준 알고리즘 문제-2750 import java.util.Scanner; public class AlgoChap05 { /* * 기초 정렬 문제 풀이 * 백준 알고리즘 2750 */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int array[] = new int[1001]; int min, index = 0, temp; int number = sc.nextInt(); for(int i = 0; i < number; i ++) { array[i] = sc.nextInt(); } for(int i = 0; i < number; i ++) { min = 1001; for(int j = i; j < number; j ++) { if(min .. 더보기
[퀵 정렬] Java 퀵 정렬 package codingTest; public class AlgoChap04 { static int number = 10; static int data[] = {1, 10, 5, 8, 7, 6, 4, 3, 2, 9}; static void quickSort(int[] data, int start, int end) { if(start >= end) {// 원소가 1개인 경우 return; } int key = start; // 키는 첫번째 원소 int i = start + 1; int j = end; int temp; while(i j) {// 현재 엇갈린 상태면 키 값과 교체 temp = data[j]; data[j] = data[key]; data[key] = temp; } else {// 엇갈리지 .. 더보기
[삽입 정렬] Java 삽입 정렬 public class Algo03 { public static void main(String[] args) { /* * 삽입정렬 * 1 10 5 8 7 6 4 3 2 9 * 각 숫자를 적절한 위치에 삽입하는 방법 * 필요할떄만 위치를 바꾸게 된다. * O(N^2)중에 가장 좋다. * 1 -> 1 10 5 8 7 6 4 3 2 9 * -> 1 5 10 8 7 6 4 3 2 9 * -> 1 5 8 10 7 6 4 3 2 9 * -> 1 5 7 8 10 6 4 3 2 9 * 기본적으로 정렬이 되어있다 가정하면 속도가 빠르다. */ int j,temp;// 값를 바꾸기위한 변수 선언 int arr[] = {1,10,5,8,7,6,4,3,2,9}; for(int i = 0; i< arr.length - 1; i.. 더보기
[버블 정렬] Java 버블 정렬 public class Algo02 { /* * 버블정렬 * 옆에 있는 값과 비교해서 더 작은 값을 앞으로 보내면 * 효율성이 가장 떨어지는 알고리즘 * 1 10 5 8 7 6 4 3 2 9 * 1-> 9번째까지 1 10 5 8 7 6 4 3 2 9 * 2-> 8번째까지 1 5 10 8 7 6 4 3 2 9 * 3-> 1 5 8 10 7 6 4 3 2 9 * ... * 가장 큰 값이 맨 끝으로 */ public static void main(String[] args) { int temp; int arr[] = {1,10,5,8,7,6,4,3,2,9}; for(int i =0 ; i a.. 더보기
[선택 정렬] Java 선택 정렬 public class Algo01 { /* 선택 정렬 * 오름차순으로 정렬 * 가장 작은것을 선택해서 제일 앞으로 보내기 * 1 10 5 8 7 6 4 3 2 9 * 1 -> 1 10 5 8 7 6 4 3 2 9 * 2 -> 1 2 5 8 7 6 4 3 10 9 * 3 -> 1 2 3 8 7 6 4 5 10 9 * 4 -> 1 2 3 4 7 6 8 5 10 9 * .... * */ public static void main(String[] args) { int index = 0;// 가장 작은 원소가 위치하는 인덱스 int temp = 0;// 특정한 두 숫자를 바꾸기 위해 사용 int arr[] = {1,10,5,8,7,6,4,3,2,9}; for(int i = 0; i < arr.length; i .. 더보기