[컴퓨터 알고리즘]알고리즘 연습문제 1장
- 최초 등록일
- 2004.03.21
- 최종 저작일
- 2004.03
- 4페이지/ 한컴오피스
- 가격 2,500원
소개글
컴퓨터 알고리즘 연습문제입니다. 공부하시는데 도움이 되면 좋겠네요.
목차
1.1 n개의 수로 구성된 리스트 (또는 배열)에서 가장 큰 수를 찾는 알고리즘을 작성하라.
1.3 n개의 요소로 구성된 집합에서 3개의 요소를 가진 부분집합을 모두 인쇄하라는 알고리즘을 작성하라.
1.5 정수 2개의 최대공약수를 찾는 알고리즘을 작성하여라.
1.7 거의 완전한 이진트리가 힙인지를 결정하는 알고리즘을 작성하라
1.9 정렬을 하는데 교환정렬(알고리즘1.3)을 사용하지 말아야 할 실제 예를 들어라.
1.11 보통 삽입정렬 알고리즘과 연습문제 4에서 작성한 이분검색을 사용한 삽입정렬 알고리즘의 최악의 경우, 평균의 경우, 최선의 경우 시간 복잡도를 구하라.
1.13 알고리즘 A는 10의 단위 연산을 수행하고 알고리즘 B 는 300 ln n 번의 단위연산을 수행한다. 어떤 값부터 알고리즘 B의 성능이 좋아지는가.
1.15 f(n)=임을 증명하라,
1.17 1.4.2절에 있는 차수의 성질을 사용하여 다음을 증명하라.
1.19 다음 함수를 복잡도 카테고리별로 구분하라.
1.25 의 시간복잡도를 가진 알고리즘 A를 사용하여 입력크기가 100인 문제를 1분안에 풀 수 있다. 반면에 곧 이보다 두배나 큰 입력을 풀어야 한다. 더 빠른 그리고 더 비싼 컴퓨터를 사면 이 문제를 해결할 수 있으리라 생각하는가?
본문내용
1.1 n개의 수로 구성된 리스트 (또는 배열)에서 가장 큰 수를 찾는 알고리즘을 작성하라.
main()
{
struct ex nu[5] = {5,4,2,7,1}; // 5개의 수를 구조체로 선언한다.
int i,j,t;
for ( i=0 ; i< 5; i++)
for (j=i+1 ; j<=10 ; j++)
if (nu[i].number>nu[j].number){
t = nu[i].number;
nu[i].number = nu[j].number;
nu[j].number = t;
}; //5개의 수는 작은것부터 큰 순서대로 정렬된다.
printf("%d",nu[5].number); // 5번째 있는 수는 가장 큰 수이다.
return (0);
};
참고 자료
없음