학점은행제/알고리즘 3

기본적인 정렬 알고리즘

선택 정렬 정렬?-데이터의 순서를 결정하는 것-데이터를 저장하는 위치에 따라 내부정렬과 외부정렬로 구분한다 내부 정렬-데이터 양이 적을 떄 주기억장치 내에 저장한 자료를 정렬하는 방법-정렬할 자료의 양이 적어서 자료 전체가 주기억장치에 저장될 수 있는 경우에는 내부 정렬을 사용하여 자료를 정렬-선택 정렬, 버블 정렬, 삽입 정렬, 쉘 정렬, 퀵 정렬 등 외부 정렬-입력의 크기가 주기억 장치 공간보다 큰 경우 보조 기억 장체에 있는 입력을 여러 번에 나누어 주기억 장치에 읽어 들인 후 정렬하여 보조 기억 장치에 다시 저장하는 과정을 반복 정렬 알고리즘의 복잡도 기본적인 정렬 알고리즘-선택, 버블, 삽입 정렬등이 있다. 선택 정렬-각 루프마다    >최대 원소를 찾음    >최대 원소와 맨 오른쪽 원소를 교..

점화식

알고리즘 문제 해결 문제해결 전략-주어진 조건에 맞추어 다각도로 문제에 접근-문제를 철저히 분석-그림을 그리거나, 식을 만들거나, 규칙을 찾는다 점화식-어떤 함수를 자신보다 더 작은 변수에 대한 함수와의 관게로 표현한 것-자기 호출을 사용하는 함수(재귀)의 복잡도를 구하는데 유용함-수열은 원소들을 일정한 순서로 나열한 형태로 표현하는 데 이러한 원소들 사이에는 일정한 규칙이 있을 수도 있고 원소들의 나열 대신 이 규칙으로 표현하는 것도 점화식임  병합 정렬을 이용한 점화식의수행 시간-병합 정렬도 자신보다 더 작은 변수에 대한 함수와의 관계로 표현 가능-입력의 크기가 n인 배열을 병합 정렬하려면 일단 배열을 이등분한 다음 각각을 제귀적으로 병합해 이들을 다시 병합함으로써 정렬이 끝남-입력의 크기가 n인 병..

알고리즘 1주차

알고리즘이란?-어떤 일을 수행할 수 있는 일련의 명령어 또는 규칙의 집합-알고리즘을 설계하기 위해서는 해야 할 작업을 명확하게 명시해야 함-문제해결이나 처리 과정에서의 순서를 단계적으로 서술 특성-알고리즘을 작성하기 위해서는 문제를 풀기 위한 입력이 반드시 필요하며, 그 결과인 출력이 존재해야 한다.-명령이 수행된 후에는 반드시 종료되어애 하는 유한성과 정확한 출력값을 만들어내야 하는 정확성, 같은 문제에는 모두 적용 가능한 일반성이 있어야 한다. 문제를 알고리즘으로 작성하는 과정-문제분석 : 주어진 문제에 대한 논리적 분석을 통하여 핵심 사항들을 분석-데이터 수집과 표현 : 문제해결과 관련된 정보들을 수집하며 데이터를 적절한 형태로 표현 -분해 : 복잡한 문제를 보다 쉽게 다룰 수 있도록 여러 개의 작..