안전관리론_7급_A형정답(2021-05-15 / 238.8KB / 103회)
Ⓐ - 11 자료구조론 ―――――――― (1번∼20번) (1번∼20번) (7급) 1. C언어에서 정수형 2차원 배열 A[3][4]가 와 같이 초기화 선언된 경우, 원소 A[2][3]의 초기 값은? int A[3][4] = { 1, 2, 3, 4, 5, 6 }; ①0 ②4 ③5 ④6 2. 와 같은 이중 연결 리스트(doubly linked list)에서 removed가 가리키는 노드를 삭제하려고 한다. 이를 수행 하기 위한 2줄의 C/C++ 문장으로 가장 옳은 것은? (단, 노드에서 좌/우 노드를 가리키는 포인터 항목은 각각 llink, rlink이며, removed는 null이 아니다.) ① removed → llink → rlink = removed → rlink; removed → rlink → llink = removed → llink; ② removed → llink → llink = removed → llink; removed → rlink → rlink = removed → rlink; ③ removed → llink → rlink = removed → llink; removed → rlink → llink = removed → rlink; ④ removed → llink → rlink = removed → rlink → llink; removed → rlink → llink = removed → llink → rlink; 3. 연결 리스트에 여러 개의 노드가 존재할 때, 다음 노드를 가리키는 포인터 값이 NULL인 경우가 전혀 없는 성질을 가진 연결 리스트는? ① 단순 연결 리스트(singly linked list) ② 이중 연결 리스트(doubly linked list) ③ 원형 연결 리스트(circular linked list) ④ 헤드노드를 가진 단순 연결 리스트(singly linked list with head node) 4. 수식 ((A+B)-(C/D))을 후위 표기법(postfix notation)으로 가장 바르게 변환한 것은? ① ABCD+-/ ② -+AB/CD ③ AB+-CD/ ④ AB+CD/- 5. 이진 탐색 트리(binary search tree)에 대한 설명으로 가장 옳지 않은 것은? ① 모든 노드는 2개 이내의 자식노드(child node)를 가질 수 있다. ② 왼쪽 자식노드(child node) 없이 오른쪽 자식노드만 있는 노드는 허용되지 않는다. ③ 왼쪽 서브트리(subtree)에 있는 노드들의 키 값들은 루트 노드(root node)의 키 값보다 작다. ④ 루트노드(root node)의 경우, 반드시 2개의 자식노드 (child node)를 모두 가질 필요는 없다. 6. 의 그래프에서 크루스칼(Kruskal) 알고리즘을 사용 하여 최소신장트리(minimum spanning tree)를 만들 때, 세 번째 삽입하게 되는 선분(edge)은? ① (A, E) ② (E, F) ③ (B, C) ④ (C, F) 7. 의 그래프를 정점 D에서 시작하여 가중치가 작은 것 부터 큰 것 순서대로 깊이 우선 탐색(depth first search)을 할 때 방문하는 순서대로 정점들을 가장 바르게 나열한 것은? ① D→E→B→C→A ② D→E→C→B→A ③ D→B→C→E→A ④ D→E→A→C→B 8. 의 AVL 트리에 4를 삽입할 경우 균형이 깨진 트리를 균형 트리로 다시 만들기 위해 필요한 회전은? ① LL 회전 ② LR 회전 ③ RR 회전 ④ RL 회전 9. 의 프로시저는 재귀호출(recursive call)을 이용해 정의되었다. 의 프로시저에서 호출 f(3)이 최종적으로 돌려주는 정수값은? int f(int n) { if (n < 0) then return 1; else return ( n + f(n-1)); } ①1 ②3 ③6 ④7 Ⓐ Ⓐ - 12 (7급) 10. 인접 행렬 ∞ ∞ 이 주어진 그래프에서 Floyd의 최단 경로 알고리즘을 이용하여 → → → → 순으로 행렬을 계산하면 모든 정점 간의 최단 경로를 구할 수 있다. 이 때, 행렬의 특정 원소의 값으로 가장 옳은 것은? ① ② ③ ④ 11. 의 두 가지 (A, B) 정의에 대한 참과 거짓으로 가장 옳은 것은? A) 이진검색알고리즘은 정렬(sort)된 데이터를 필요로 한다. B) 이진검색알고리즘의 평균 시간복잡도는 O(log2N)이다. (단, N은 데이터의 개수이다.) ① A ↔ 참; B ↔ 참 ② A ↔ 거짓; B ↔ 참 ③ A ↔ 거짓; B ↔ 거짓 ④ A ↔ 참; B ↔ 거짓 12. 의 이진트리(binary tree)를 후위순회(postorder traversing)한 결과는? (단, 루트노드(root node)는 F이다.) ① F-A-E-K-C-D-B-H-G ② E-A-C-K-F-H-D-B-G ③ F-A-E-K-C-D-H-G-B ④ E-C-K-A-H-B-G-D-F 13. 의 후위 표기법(postfix notation)으로 표현된 수식 에서 가장 먼저 수행되는 연산은? ABC-D+* ① A-B ② B+D ③ B - C ④ A * D 14. 의 프로그램이 실행되면 값이 바뀌는 배열의 요소는? int a[5], *p; p=a; (*p)++; ① a[0] ② a[1] ③ a[2] ④ a[3] 15. 의 상황과 가장 유사한 자료구조는? 슈퍼마켓의 계산대에 줄지어 서 있는 손님 대기선과 유사한 자료구조로서 대기선에 먼저 줄을 선 손님 순으로 한 명씩 계산대 서비스를 받고 나가는 상황 ① 스택 링크드 리스트(Stack Linked List) ② 큐 링크드 리스트(Queue Linked List) ③ 위의 두 자료구조 모두 해당 함 ④ 위의 두 자료구조 모두 해당하지 않음 16. 의 my_recursion(7)을 호출하여 얻은 결과값은? int my_recursion(int n) { if (n 의 부울 연산식(Boolean formula)의 값을 1로 만드는 , , 의 값들이 아닌 것은? (단, +는 or, ・은 and이다.) ・ ・ ・ ① , , ② , , ③ , , ④ , , Ⓐ