본문 바로가기

시/공간 복잡도 우리가 프로그램을 판단하는 데에는 다음과 같은 몇 가지 기준을 바탕으로 한다. 1. 프로그램이 원래의 명세와 부합하는가? 2. 정확하게 작동하는가? 3. 프로그램을 어떻게 사용하고, 또 어떻게 수행하는지에 관한 문서(메뉴얼)화가 프로그램 되어 있는가? 4. 프로그램에서 논리적인 단위를 생성하기 위해 함수를 효과적으로 사용하는가? 5. 프로그램의 코드의 가독성이 좋은가? 6. 프로그램이 주기억장치화 보조기억장치를 효율적으로 사용하는가? 7. 작업에 대한 프로그램의 실행 시간은 받아들일 만한가? 프로그램의 공간 복잡도 프로그램을 실행시켜 완료하는 데 필요로 하는 공간의 양 ( 메모리 / 주기억 장치를 어느정도 사용하는가? ) 총 공간 요구 = 고정 공간 요구 + 가변 공간 요구 S(P) = c + Sр(I).. 더보기
순열 a,b,c가 존재한다고 가정할 경우순열의 집합은 다음과 같다.a,b,c a,c,bb,a,cb,c,ac,a,bc,b,a즉 총 6개의 순열이 나오는데 n개의 주어진 원소에 대해 n! 개의 상이한 순열이 있다는 것은 쉽게 알 수 있다.n! = n * (n-1) * ... * 1 네 개의 원소 {a,b,c,d}로 된 집합을 살펴보면 간단한 알고리즘을 얻을 수 있을 것이다.이것에 대한 순열의 집합은 다음과 같이 출력시키면 결과를 얻을 수 있다. 1) a로 시작하는 {b,c,d}의 모든 순열2) b로 시작하는 {a,c,d}의 모든 순열 3) c로 시작하는 {a,b,d}의 모든 순열 4) d로 시작하는 {a,b,c}의 모든 순열 ~로 시작하는 ~의 모든 순열 이라는 표현이 바로 순환의 실마리이다. 순열 n개에 대한 .. 더보기
선택 정렬 과 이진 탐색 .n >= 1 개의 정수를 정확하게 정렬한다. 배열을 이용한 선택 정렬 알고리즘.배열 정의 list[i] , 0 더보기