2022 2학기 문제해결과알고리즘 기말고사(아래 정답 따로 있음)동적 문제해결 방법에서 구현되어야 하는 기술이 아닌 것은?Bottom-upMemorizationRe-useTop-down다음은 동적 방법을 이용하여 피보나치수 구하는 프로그램이다. (1)에 들어갈 코드는?def fib_np(n):if n==0:return 0elif n==1:return 1fib_m=[0,1]for i in range(2,n+1):( 1 )fib_m.append(num)return fib_m[n]num=fib_dp(n-1)+fib_dp(n-2)num=fib_m[n-]+fib_m[n-2]num=fib_dp(i-1)+fib_dp(i-2)num=fib_m[i-1]+fib_m[i-2]분할-정복 문제해결 방법에서 분할단계에서 분할되는 것은?입력된 데이터의 크기처리 과정반복되는 문제해퀵정렬 알고리즘과 합병정렬 알고리즘에 대한 설명중 옳은 것은?퀵정렬 알고리즘에서 피봇은 항상 가장 앞에 저장된 값으로 결정한다.합병정렬 알고리즘의 성능에서 분할단계 시간은 중요하다.퀵정렬 알고리즘은 정복과정 후에 분할과정을 거친다.합병정렬 알고리즘은 분할과정과 정복과정을 지속적으로 반복하여 문제를 해결한다.퀵정렬 알고리즘의 성능에 영향을 미치지 않는 요소는?피봇 비교연산 횟수피봇 위치교환 횟수피봇선정횟수분할횟수가중치 그래프에서 두 지점의 최단경로를 찾는 문제를 동적 방법으로 해결한 알고리즘은?DijkstraPrimFloyd-WarshallKruscal컴퓨터를 이용해서 문제해결을 할 때 입력에 대한 설명중 옳은 것은?반드시 키보드로 입력해야만 한다.숫자와 문자 입력만 가능하다.문자는 연산할 수 없으므로 입력할 수 없다.컴퓨터에서 처리할 수 있는 방식으로 저장하는 것을 말한다.컴퓨터에서 2진수를 사용하는 이유에 대한 설명으로 옳지 않은 것은?주기억장치가 전기회로로 구성되어 있기 때문에주기억장치가 0과 1로 만들어져 있기 때문에주기억장치가 유지할 수 있는 상태를 0과 1로 표현하기 위해서주기억장치가 On/Off의 상태만 유지할 수 있으므로다음 컴퓨터 알고리즘은 다음중 어느 알고리즘을 정의한 것인가?가중치를 기준으로 간선을 정렬한다.가중치가 가장 작은 간선을 선택한다.간선이 사이클을 만드는지 확인한다.3-1. 사이클을 만들면 최소신장트리에 추가하지 않는다.3-2. 사이클을 만들지 않으면 최소신장트리에 추가한다.2, 3을 반복한다.최소신장트리를 결과로 출력한다.Dijkstra 알고리즘Prim 알고리즘Kruscal 알고리즘Floyd-Warshall 알고리즘다음중 Prim 알고리즘과 Kruscal 알고리즘의 시간복잡도에 대한 설명중 옳지 않은 것은?Prim 알고리즘은 노드를 배열자료구조로 저장했을 때 선형로그시간의 복잡도를 보인다.Prim 알고리즘은 입력된 노드의 수에 따라 가장 작은 값을 찾는 노드를 선택하는 시간이 전체 시간복잡도이다.Kruscal 알고리즘은 선형로그시간 시간복잡도를 보인다.Kruscal 알고리즘의 시간복잡도는 간선을 정렬하는 시간, 간선을 선택하여 사이클을 확인하는 시간, 간선을 추가하는 시간의 합이다.정렬 알고리즘의 기초연산은?논리연산, 산술연산비교연산, 교환연산논리연산, 비교연산산술연산, 교환연산다음 정렬 알고리즘중 정렬문제를 해결한 방식이 다른 것은?선택정렬 알고리즘삽입정렬 알고리즘버블정렬 알고리즘힙정렬 알고리즘힙 자료구조의 기본 트리구조는?이진완전트리8트리이진트리이진균형트리자료구조에 대한 설명으로 옳지 않은 것은?프로그램 설계시 가장 먼저 고려되어야 한다.문제의 해결방법에 따라 자료구조를 선택할 수 있다.자료구조는 프로그램 성능에는 영향을 미치지 않는다.메모리를 효율적으로 사용하기 위하여 데이터에 맞는 자료구조를 선택하는 것은 중요하다.다음 코드는 파이썬 프로그래밍 언어에서 제공하는 list 자료형을 이용하여 큐를 구현한 것이다.에 들어갈 명령어는?w_no=100queue=[]def enqueue(data):queue.append(data)def dequeue():dequeue_object=Noneif len(queue)==0:print(“Queue is Empty”)else:dequeue_object= (1)queue.remove((1))return dequeue_objectqueue[len(queue)]queue[0]queue[1]queue[data]다음은 우선순위 연산문제를 스택으로 해결한 파이썬 코드이다. pop() 동작이 일어나는 경우는?a_stack=[]def push(push_data):a_stack.append(int(push_data))def pop():a=0a=a_stack[-1]a_stack.remove(a_stack[-1])return aprint(“계산식을 후위표기법으로 입력하세요.n연산자와 피연산자는 ”,”로 분리해서 입력하세요.”)a=list(input().split(‘,’))for i in a:if i == ‘+’ or i ==’-‘ or i ==’*’ or i ==’/’:pop_data1=pop()pop_data2=pop()if i ==’+’:push(pop_data2+pop_data1)elif i ==’-’:push(pop_data2-pop_data1)elif i ==’*’:push(pop_data2*pop_data1)elif i ==’/’:push(pop_data2/pop_data1)else:push(i)push()동작이 끝났을 때숫자 데이터가 입력되었을 때연산자가 입력되었을 때모든 데이터가 입력될 때마다다음 정의된 트리를 깊이우선순회 방법으로 노드들을 방문할 때 방문 순서중 옳은 것은?A-B-C-D-E-F-GA-D-E-F-G-B-CA-C-B-D-E-G-FA-B-D-E-C-F-G그래프 순회에 대한 설명으로 옳은 것은?깊이우선순회방법은 시작정점으로부터 가까운 정점을 먼저 방문하는 방법이다.깊이우선순회방법이 너비우선순회방법보다 더 효율적이다그래프나 트리 자료구조로 저장된 데이터를 탐색하는 방법이다.순회할때 시작정점은 정하지 않아도 된다.데이터 검색 문제에 대한 설명으로 옳은 것은?데이터 검색 문제는 NP문제이다.다른프로그램 성능에 영향을 미친다.데이터 검색문제는 데이터 관리문제와 상관없다.데이터 검색문제를 해결하기 위해 휴리스틱 방법이 반드시 필요하다.이진 검색 알고리즘에서 비교하는 값은?찾고자 하는 데이터와 가장 처음에 저장된 데이터찾고자 하는 데이터와 중간에 저장된 데이터찾고자 하는 데이터 와 가장 마지막에 저장된 데이터찾고자 하는 데이터와 찾고자 하는 데이터보다 큰 데이터힙정렬 알고리즘의 성능에 대한 설명으로 옳은 것은?데이터의 상태와 종류에 상관없이 가장 좋은 성능을 보인다.정렬도가 높은 데이터에 대해서는 삽입정렬 알고리즘보다 성능이 떨어진다.최악의 경우 이차시간 성능을 보인다.최대힙 만드는 알고리즘과 같은 성능을 보인다.자료형에 대한 설명중 옳지 않은 것은?자료형은 주기억장치의 효율성에 영향을 미친다.자료형은 프로그래밍 언어마다 모두 같은 방법으로 정의된다.자료형은 주기억장치에 저장하는 데이터의 형태이다.자료형은 주기억장치에 저장하는 값의 범위를 정의한다.선형 자료구조에 대한 설명중 옳지 않은 것은?데이터를 순차적으로 접근한다.순서가 정해져 있는 자료구조이다.특정 데이터를 접근하려면 저장 규칙을 알아야 한다.선형 자료구조에는 배열, 연결리스트, 스택, 큐가 있다.NP-complete 문제와 NP-Hard 문제에 대한 설명중 옳은 것은?NP-Hard 문제는 반드시 NP-complete 문제여야 한다.NP-complete 문제는 반드시 NP-Hard 문제여야 한다.NP-Hard 문제는 반드시 NP 문제여야 한다.NP-complete 문제는 반드시 NP 문제여야 한다.다음과 같이 A 문제와 B 문제의 관계와 A문제 알고리즘의 시간 복잡도가 정의되어 있을 때, B문제 알고리즘의 시간 복잡도는?A 문제는 NP-complete 문제이다.B문제는 NP문제이다.A문제 알고리즘의 시간복잡도는 O(nlogn)이다.AB 변환 시간복잡도는 O(n)이다.BA변환 시간복잡도는 O(logn)이다.O(n)O(nlogn)O(logn)O(n^2)정답(이 중 22개만 정답임)Top-downnum=fib_m[i-1]+fib_m[i-2]반복되는 문제퀵정렬 알고리즘은 정복과정 후에 분할과정을 거친다.피봇선정횟수Floyd-Warshall컴퓨터에서 처리할 수 있는 방식으로 저장하는 것을 말한다.주기억장치가 0과 1로 만들어져 있기 때문에Kruscal 알고리즘Prim 알고리즘은 노드를 배열자료구조로 저장했을 때 선형로그시간의 복잡도를 보인다.비교연산, 교환연산힙정렬 알고리즘이진완전트리자료구조는 프로그램 성능에는 영향을 미치지 않는다.queue[0]연산자가 입력되었을 때A-B-D-E-C-F-G그래프나 트리 자료구조로 저장된 데이터를 탐색하는 방법이다.다른프로그램 성능에 영향을 미친다.찾고자 하는 데이터와 중간에 저장된 데이터최대힙 만드는 알고리즘과 같은 성능을 보인다.자료형은 프로그래밍 언어마다 모두 같은 방법으로 정의된다.특정 데이터를 접근하려면 저장 규칙을 알아야 한다.(문제 오류로 둘 중 하나만 선택해도 정답 인정)NP-complete 문제는 반드시 NP 문제여야 한다./ NP-complete 문제는 반드시 NP-Hard 문제여야 한다.O(nlogn)
Purpose:to prepare the soap by saponification with animal and vegetable oil and the synthetic detergent which is the alternative of the soap. Theory- 계면활성제: 계면이란 기체와 액체, 액체와 액체, 액체와 고체가 서로 맞닿은 경계면을 말하며, 계면활성제는 이런 계면의 경계를 완화시키는 역할을 한다. 계면활성제 분자는 하나의 분자 안에 친수성 부분과 소수성 부분을 동시에 지니고 있는 분자이다. 계면활성제의 소수정 부분은 탄소 원자가 여러 개 연결된 구조이며, 비극성이다. 반면에 비극성 부분에 같이 결합되어 있는 친수성 부분은 극성이다. 일반적으로 극성 부분의 크기는 비극성 부분의 크기에 비해서 작은 편이기 때문에 편의상 극성 부분을 머리, 비극성 부분을 꼬리라고 한다. 따라서 꼬리 부분은 비극성인 기름과 상호작용을 잘 하고, 머리 부분은 극성인 물과 상호작용을 잘 한다.계면활성제는 약간의 화학구조를 변형시킨 것만으로도 특성이 크게 달라져 종류가 다양하며, 대체로 계면활성제는 물에서 해리되었을 때 친수성 머리 부분의 전하에 따라 음이온, 양이온, 양쪽성, 비이온성, 특수 계면활성제로 분류된다.1. 음이온 계면활성제: 계면활성제가 물속에서 해리될 때 음이온이 되는 것으로 친수기로 카르복시산염, 설폰산염 또는 인산염 구조를 가진 것이 많다. 카르복시산염계로 비누의 주성분인 지방산 나트륨이나 설폰산염계로 합성세제에 많이 사용되는 알킬벤젠설폰산 나트륨과 polyacrylamide, 전기영동에 이용되는 로릴 황산 나트륨(sodium aluryl sulfate, SLS) 또는 도데실 황산 나트륨(sodium dodecyl sulfate, SDS) 등이 있다.2. 양이온 계면활성제: 계면활성제가 물속에서 해리될 때 양이온이 되는 것으로 살균작용이 있으며, 대전 방지기능이 있어 린스, 트리트먼트 등에 사용된다.
Purpose: to learn fundamental about organic synthesis by performing the experiment on the synthesis of aspirin which is one of the most successful commercialized medicines. Theory- 유기합성: 유기합성은 원하는 유기화합물을 사용화 되어있는 출발물질을 이용하여 단계적으로 합성하는 일이다. 이와 같은 유기합성은 제약, 천연물, 염료, 농화학, 화장품, 고분자 및 전자 재료 등의 기초연구와 산업현장에서 널리 사용된다. 유기합성의 단계는 1. 최종물질 선정, 2. 합성전략, 출발물질 및 중간체 선정, 3. 합성도면 작성 및 참고문헌 조사, 4. 실험을 통한 최적화 등에 따르게 된다.- 정제: 어떤 물질로부터 혼재해 있는 불순물을 제거하여 순도를 높이는 과정이다. 보통 천연 자원은 처음부터 거의 사용 가능한 형태이나, 순수한 형태로 만들 경우 유용하게 사용할 수 있다. 그 방법으로 용해도의 차이를 이용한 재결정이나 분별결정, 증기압을 활용한 증류나 분배·흡착·이온교환 크로마토그래피법, 전기용동법, 겔여과법 등 여러 종류의 방법이 사용된다. 액체의 정제는 보통 증류 또는 분별 증류를 통해 이루어진다. 기체 역시 온도를 낮추거나 압력을 가하여 액화시킨 다음 액체와 같은 방법으로 정제할 수 있다. 기체와 액체는 특정한 용매로 원하는 물질이나 원하지 않는 물질만 녹여 제거하는 용매 추출법을 통해 정련할 수도 있다. 고체의 경우 혼합 용액에서 결정을 키워 정제할 수 있다. 결정은 일반적으로 우리가 원하는 원소만이 모이고, 다른 것들은 배체된다.
Purpose: synthesis of an iron oxalate complex and application to a blueprint via photochemical reaction. Theory- 광화학 반응: 물질이 빛을 흡수하고 그 빛 에너지에 의해 일어나는 화학 반응을 말한다. 빛의 작용에 의해 분자나 원자가 분해되거나 내부 에너지가 증가하는 과정이다. 물질이 빛을 흡수하면 물질이 그 진동에 대응하기 위한 상태로 변하고, 그 과정을 통해 높은 에너지를 가지며 여기 분자나 유리기 이온 등을 생성한다. 광화학 바응은 이러한 생성물에 의해 일어나고, 분해, 합성, 이성화 등의 과정이 발생하기도 한다.- 청사진: 건설 현장에서 사용하는 원본 도면의 사본을 만들기 위해 사용하는 복사 기법으로 도면에 그려진 내용은 흰색, 도면의 바탕 부분은 파란색으로 복사되기 때문에 청사진이라고 부른다. 철 수용액을 원본 도면에 바르고, 사본을 복사하기 위한 종이를 겹쳐 놓은 후 빛에 일정 시간 노출시킨다. 이후 철 수용액과 반응하는 염가 수용액으로 종이를 씻어내면 빛을 받은 바탕 부분은 파란색, 도면 부분은 흰색으로 복사된다. 주로 철의 2 가 염과 적혈염 (K3[Fe(CN)6]), 또는 철의 3 가의 염과 황혈염(K4[Fe(CN)6])과의 반응에 의해 청색 안료인 프러시안블루가 생기는 것을 이용한다. 빛을 받은 3 가의 철이 환원되어 2 가의 철이 되고, 적혈염과 반응하여 프러시안블루가 생성되는 원리를 사용한다. 적혈염 수용액 대신 황혈염 수용액을 사용하면 그 반대가 된다. 전자의 경우를 백선법, 후자의 경우를 청선법이라고 한다. 현재는 CAD 기법의 발달로 직접 도면을 그리지 않고 컴퓨터 작업으로 도면을 그리기 때문에 거의 사용하지 않는 기법이다.
Purpose: study about function and principle in a chemical reaction. Theory- 활성화에너지: 화학 반응이 진행되기 위해 필요한 최소한의 에너지. 화학 반응이 일어나기 위해선 반응물이 존재하는 것뿐만 아니라 입자 자체가 일정한 수준의 에너지를 가지고 있어 입자 간의 유효 충돌이 많아야 한다. 이 에너지를 활성화 에너지라고 하며, 활성화에너지는 화학반응속도에 영향을 끼친다.활성화에너지가 작을 경우 보다 높은 에너지를 갖는 입자 수가 많아지기 때문에 반응 속도가 빨라진다. 활성화 에너지가 작을수록 반응 속도가 빠르고, 활성화 에너지가 클수록 반응 속도가 느리다. 또한 촉매는 정반응과 역반응의 활성화 에너지를 똑같이 조절하기 때문에 활성화 에너지가 작아지면 정반응 속도와 더불어 역반응 속도도 빨라진다. 하지만 촉매는 전체 반응의 열역학에는 아무 영향을 미치지 않는다.촉매를 사용해 반응의 속도를 조절할 수 있는데 이는 촉매가 활성화 에너지를 조절하여 반응을 일으킬 수 있는 분자의 수가 바뀌기 때문이다.- 촉매: 반응 중에서 소모되지 않으며, 반응속도를 변화시키는 물질이다. 정촉매는 반응 계에 첨가되어 반응의 활성화 에너지를 낮추어 그 반응을 더 빨리 일어나도록 하고, 반대로 부촉매는 활성화 에너지를 높여 반응이 느리게 진행되도록 한다.- 균일 촉매와 불균일 촉매: 균일 촉매는 촉매가 반응물과 같은 상태로 존재하는 촉매로 보통 기체나 액체 상태로 존재한다. 균일 촉매가 용액 속에서 작용할 경우, 균일 촉매는 용액에 완전히 용해된다.