- n개의 정수를 입력 받아 오름차순으로 정렬하여 출력하는 자바프로그램을 작성하시오.
n값 입력: 5
5개의 정수 입력: 30 50 40 10 20
정렬결과: 10 20 30 40 50
- n개의 random number들에 대해 합병정렬과 퀵 정렬의 성능을 측정하여 표로 만들고, 그래프로 그려라.
- n = 1000, 5000, 10000, 20000, 50000, 100000에 테스트하라.
- 각각의 n에 대해 적어도 10개의 테스트 데이터에 적용하고 그 평균을 산출하여 표와 그래프를 만들어라.
- 합병정렬과 퀵정렬은 순환호출 함수를 사용하라.
-
하나의 영문 파일을 입력받아 각 영문자마다 (space 문자포함) 빈도수를 조사한 수, Huffman 트리(decode 트리)를 생성하라.
-
Huffman 트리를 이용하여 각 문자의 코드를 결정하라.
<제출물> 프로그램 소스
입력 파일 (위 단계 1에서 사용됨)
각 문자의 빈도수와 할당된 코드 (단계 1과 2의 결과) -
3개의 파일에 대해 테스트하라.
-
단순화를 위해 영문 파일은 영어 알파벳의 소문자와 space 문자로만 되어 있다고 가정한다.
-
다단계 그래프에서 최소비용 경로를 구하는 프로그램을 작성하라. 방향 그래프를 인접행렬에 저장하고, n개의 정점들이 있을 때, 정점의 번호는 1부터 n까지 부여한다. 시작 정점은 1, 끝 정점은 n으로 한다.
-
정점의 수와 간선의 수를 입력: 12 21
0번째 간선: 1 2 9
1번째 간선: 1 3 7
... -
출력: 인접행렬, 각 정점의 cost, d값, 그리고 최소-비용 경로
-
backward 방법을 사용하여 프로그램을 작성할 것
-
3개 이상의 다단계 그래프에 적용하라.
-
두 개의 문자열을 입력받아 최적의 문자열 편집 순서를 결정하는 프로그램을 작성하라. 편집 순서가 올바른가를 테스트하기 위해 문자열 X에 적용하여 최종 결과가 문자열 Y가 되는지 확인하는 함수도 포함하라.
[입력]
두 문자열의 길이를 입력: n m
두 문자열을 입력:
x1 x2 ... xn
y1 y2 ... yn[출력]
c(i,j) 표
최적의 편집 순서열: 맨 앞 연산부터 차례로
입력문자열에 차례로 적용하기: -
5개 이상의 문자열에 대해 적용하라.