1장01. 2개의 정수를 서로 교환하는 알고리즘을 의사 코드로 작성해보자.Swap(a,b):a←10b←5tmp←aa←bb←tmpreturn a,b02. 사용자로부터 받은 2개의 정수 중에서 더 큰 수를 찾는 알고리즘을 의사코드로 작성해보자.Max(a,b):a←5b←10max←aIf max 4회 = 3.‥따라서 이 정수이면 회정수가 아니면 + 107. 다음과 같은 코드의 시간 복잡도는? 여기서 n이 프로그램의 입력이라고 가정하자.for(i=0 ; i 4회 = 3.‥즉 j는 이 정수이면 회정수가 아니면 + 1따라서 총 실행횟수는 또는08. 시간 복잡도 함수 를 빅오 표기법으로 나타내면?(1) O(n) (2) O(n )(3) O( ) (4) O( )f(n) = 이고 g(n)= 이라면 n > 일 때 + 10n + 8 을만족하는 c와 가 존재하므로 ( c=100, = 1 … )이다.답: (3)09. 시간 복잡도 함수가 7n + 10 이라면 이것이 나타내는 것은 무엇인가?(1) 연산의 횟수 (2) 프로그램의 수행시간(3) 프로그램이 차지하는 메모리의 양 (4) 입력 데이터의 총개수답: (1)10. O( )의 시간복잡도를 가지는 알고리즘에서 입력의 개수가 2배로 되었다면 실행시간은 어떤 추세로 증가하는가?(1) 변함없다. (2) 2배(3) 4배 (4) 8배답: (3) 4배11. f(n)에 대하여 엄격한 상한을 제공하는 표기법은 무엇인가?(1) 빅오메가 (2) 빅오(3) 빅세타 (4) 존재하지 않는다.빅오메가는 어떤 함수의 하한을 표시하는 방법이고빅세타는 동일한 함수로 상한과 하한을 표시하는 방법 이다.답: (2)12 다음의 빅오표기법들을 수행시간이 적게 걸리는 것부터 나열하라.O(1) O(n) O(log n) O( ) O(nlog n) O(n!) O( )답 : O(1) < O(log n) < O(n) < O(nlog n) < O(n²) < O(2ⁿ) < O(n!)13 두 함수 30n+4와 를 여러 가지 n값으로 비교하라. 언제 30n+4가 보다 작은 값을 갖는지를 구하라. 그래프를 그려보라. ( 곡선그래프: , 직선그래프: 30n + 4)답: n>= 31 이면 > 30n + 4 이다.14 다음은 실제로 프로그램의 수행시간을 측정하여 도표로 나타낸 것이다. 도표로부터 이 프로그램의 시간 복잡도를 예측하여 빅오 표기법으로 나타내라.입력의 개수 n 수행시간 (초) 2 2 4 8 8 25 16 63 32 1622 2=24 4=88 8=2416 16=6432 32=160답 : O(n n)15 빅오표기법의 정의를 사용하여 다음을 증명하라.5 + 3 = O( )답 : n >= 1 인 경우에 5 +3 일 때 6 +3n