삽입정렬(Insertion Sort) 삽입정렬은 최소값을 데이터 리스트의 앞으로 보내는 방법으로 정렬시키는 방법입니다. 순서를 유지하는 안정성있는 정렬방법입니다. 비교횟수는 N(N-1)/2 값을 가지며 수행시간 복잡도는 O(N^2) 값을 가집니다. 삽입정렬 알고리즘 void insert_sort(int arr[], int n) // 삽입정렬함수 { int i,j,.. 정보 처리/알고리즘 2011.01.26
버블정렬(Bubble Sort) - 교환정렬 버블 정렬은 나란히 있는 두개의 데이터를 비교하여 순서를 바꾸는 정렬방법입니다. 다음과 같은 데이터가 있다고 가정한 후 A B C D E F A값이 맨 뒤로 가게 버블 정렬을 한다면 정렬의 진행은 다음과 같습니다. 1.B C D E FA 2.C D E F B A 3. D E FC B A 4. E FD C B A 5. F E D C B A 즉, N개의 데이터.. 정보 처리/알고리즘 2011.01.26
달팽이 알고리즘 달팽이 알고리즘 2차원 배열을 선언하여 테두리에서 시작에서 안쪽으로 달팽이집 모양으로 숫자를 입력하는 알고리즘 정보처리기사 알고리즘 문제로 바탕으로 프로그래밍 프로그래밍 언어 : C언어 풀이 방법은 가로행과 세로열의 변수를 선언하여 반복을 통해 바깥을 다 채우면 점점 안쪽으로 들어.. 정보 처리/알고리즘 2011.01.26
JAVA - Narcissus 알고리즘 나르시스수 숫자를 자리 단위별로 나눠서 자리수에 3제곱하여 합한 값이 자신의 숫자와 같은 수를 나르시스 수라 합니다. ex) 153 = 1^3 + 5^3+ 3^3 코드 작성 기준 입력 받는 값은 정수형으로 계산(문자열 처리도 가능하지만 정수형을 계산함) 정수를 입력 받으면 정수의 자리수를 계산한 후 자릿수를 기준.. 정보 처리/알고리즘 2011.01.26
정렬 알고리즘 정렬(Sort) : 임의의 순서대로 배열되어 있는 자료를 자료의 집합을 일정한 순서대로 재배열하는 것. 정렬은 컴퓨터로 문제 해결을 하는데 있어서 검색과 함께 가장 많이 부닥치는 문제이다. 일반적으로 가장 빠른 정렬 알고리즘은 퀵 정렬(Quick Sort)이라고 알려져 있고 실제로도 가.. 정보 처리/알고리즘 2011.01.26
N_Queen (Back Tracking 알고리즘) N-Queen 알고리즘 N-Queen 알고리즘이란 가로, 세로의 셀 수가 같은 체스판에서 Queen 말이 놓일 수 있는 자리를 찾는 알고리즘입니다. Queen말은 가로, 세로, 대각선에 하나의 Queen말만 놓일 수 있습니다. 즉, Queen말이 놓인 자리에서 가로, 세로, 대각선에는 다른 Queen말이 놓일 수 없습니다.. 정보 처리/알고리즘 2011.01.26
소수구하기 소수를 구하는 알고리즘 소수란 약수가 1과 자신밖에 없는 수를 말합니다. 현재에 와서는 암호 분야에서의 사용으로 그 중요성이 부각되고 있습니다. 소수를 구하는 방법은 입력 범위까지의 정수 하나하나 2부터 그 정수전(n-1)까지 반복문을 이용하여 나눠서 하나라도 나누어 떨.. 정보 처리/알고리즘 2011.01.26
키값이 두개이고 값이 하나인 데이터를 정렬해야 한다면? 아래와 같은 데이터가 존재하고 이 데이터를 1번 키값을 기준으로 정렬해야 한다면 1번키, 2번키 = 값 1번키, 2번키_1 = 값_1 1번키, 2번키, 값을 가지는 하나의 데이터 객체를 생성하여 모든 데이터는 이 객체에 데이터를 집어 넣은 후 배열에 이 객체들을 하나씩 삽입합니다. 하지만 정렬을 해야 할 때 1번.. 정보 처리/알고리즘 2011.01.26
최대 공약수(Greatest Common Divisor) 구하기 최대 공약수는 두 정수의 약수 중 가장 큰 수를 말한다. 최대 공약수를 구하는 방식을 통해 알고리즘에 대해 이해할 수 있다. 최대 공약수를 구하는 방법은 몇 가지가 있는데 순서대로 알고리즘을 풀어보자. 1. 순차적인 약수를 구해 최대 공약수를 찾아내는 방법 : 클래스 구성은 V.. 정보 처리/알고리즘 2010.09.02
약수(Divisor) 구하기 약수란 어떤 수를 나누었을 때 나머지가 0인 수를 말하며, 배수 관계에 서로 반대되는 개념이다. 약수는 보통 정수에 대해 정의되지만, 일반화하여 정역에 대해 정의하기도 한다. import java.util.ArrayList; import javax.swing.JOptionPane; public class Divisor { private int input = 1; private ArrayList<Intege.. 정보 처리/알고리즘 2010.08.28