Computer Algorithms by Yang-Sae Moon
Page 1
Divide & Conquer
Homework #3 (1/3)
[ 프로그래밍 언어는 제약이 없음 , 자신이 즐겨 쓰는 언어를 사용하기 바 람 ]
1. 하노이 타워
하노이 타워 문제를 분할 정복 알고리즘으로 프로그래밍 하시오 .
프로그래밍 결과를 수행하여 , 디스크가 4 개인 경우와 디스크가 5 개인 경우에 대해 , 디스크 이동 순서를 보이시오 .
말뚝은 A, B, C 라 하고 , 다음은 디스크가 2 개인 경우와 3 개인 경우의 사례이다 .
Computer Algorithms by Yang-Sae Moon
Page 2
Divide & Conquer
Homework #3 (2/3)
[ 프로그래밍 언어는 제약이 없음 , 자신이 즐겨 쓰는 언어를 사용하기 바 람 ]
2. 정렬 알고리즘 성능 비교
버블정렬 , 합병정렬 , 빠른정렬 알고리즘을 각각 프로그래밍 하시오 .
입력 개수를 달리하면서 실제 정렬 속도를 측정하고 비교한다 .
입력 숫자와 개수는 자신이 임의로 생성 , 결정하여 사용한다 .
Computer Algorithms by Yang-Sae Moon
Page 3
Divide & Conquer
Homework #3 (3/3)
[ 프로그래밍 언어는 제약이 없음 , 자신이 즐겨 쓰는 언어를 사용하기 바 람 ]
3. 행렬 곱셈 비교
행렬 곱셈을 수행하는 단순 알고리즘과 쉬트라센 알고리즘을 각각 프로그래밍 하시오 .
64x64 행렬의 곱셈 수행 결과를 확인하고 , 두 방법의 실제 곱셈 횟수를 비교하시오 .
256x256 행렬의 곱셈 수행 결과를 확인하고 , 두 방법의 실제 곱셈 횟수를 비교하시오 .
입력 행렬은 자신이 임의로 생성하여 사용한다 .