1.
깊이가 k인 포화이진트리(full binary tree)의 비단말노드의 개수에서 단말노드의 개수를 뺀 값으로 옳은 것은? (단, k > 0)
- ①-1
- ②0
- ③1
- ④k - 1
정답 보기
정답 ① · 해설 보기
시행 2013-06-22 · 책형 인 · 20문항 · 출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)
정답 ① · 해설 보기
#include <stdio.h>
void hanoi_tower(int n, char from, char tmp, char to)
{
if( n==1 ) printf("원판 1을 %c에서 %c로 옮긴다. \n", from, to);
else {
hanoi_tower(n-1, from, to, tmp);
printf("원판 %d을 %c에서 %c로 옮긴다. \n", n, from, to);
hanoi_tower(n-1, tmp, from, to);
}
}
void main()
{
hanoi_tower(4, 'A', 'B', 'C');
}정답 ② · 해설 보기
정답 ② · 해설 보기
[1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] |
21 | 37 | 22 | 17 | 11 | 30 | 5 | 10 | 9 |
정답 ② · 해설 보기
struct Dlist { int data; struct Dlist *left; struct Dlist *right; }; 
A->right = C; C->left = A;
A->right = A->right->right; B->right->left = B->left;
C->left->right = B->right; C->left = B->left;
정답 ④ · 해설 보기
20, 16, 15, 9, 7, 12, 10, 1, 13, 5
정답 ③ · 해설 보기
a | b | c | d | e | f | |
a | 1 | 1 | ||||
b | 1 | 1 | ||||
c | 1 | 1 | ||||
d | 1 | |||||
e | 1 | 1 | ||||
f |
정답 ② · 해설 보기
후위 표기식 : A B C + D * -
정답 ③ · 해설 보기
원형큐 :
0 1 2 3 4 A B C 가. D를 삽입 나. E를 삽입다. 두 개의 원소를 삭제 라. F를 삽입마. 하나의 원소를 삭제 바. G를 삽입
0 | 1 | 2 | 3 | 4 |
E | F | G | D |
0 | 1 | 2 | 3 | 4 |
F | G | D |
0 | 1 | 2 | 3 | 4 |
F | G | C | D |
0 | 1 | 2 | 3 | 4 |
G | B | C | D |
정답 ① · 해설 보기
정답 ③ · 해설 보기
정답 ④ · 해설 보기
struct list_t {
int data;
struct list_t *link;
};
typedef struct list_t *list_p;
void foobar(list_p *ptr, struct list_t *node)
{
if (*ptr == NULL) {
*ptr = node;
node->link = node;
} else {
node->link = (*ptr)->link;
(*ptr)->link = node;
}
}정답 ③ · 해설 보기
45, 36, 62, 2, 16, 51, 75, 69
정답 ③ · 해설 보기
i | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [10] | [11] | [12] | [13] | [14] | [15] |
E[i] | 3 | 5 | 6 | 8 | 10 | 13 | 15 | 16 | 17 | 21 | 23 | 26 | 27 | 29 | 31 | 33 |
int func(int E[ ], int first, int last, int K)
{
int mid;
if (last < first) return –1;
else {
㉠ mid = (first + last) / 2;
if (K == E[mid]) return mid;
else if (K < E[mid]) return func(E, first, mid-1, K);
else return func(E, mid+1, last, K);
}
}정답 ④ · 해설 보기
ㄱ. p->rlink = newNode;ㄴ. newNode->llink = p;ㄷ. newNode->rlink = p->rlink;ㄹ. p->rlink->llink = newNode;
정답 ④ · 해설 보기

정답 ② · 해설 보기

정답 ① · 해설 보기

정답 ① · 해설 보기

정답 ② · 해설 보기
int length(listPointer last)
{
listPointer temp = last;
int count = 0;
if (last) {
for(count = 1; ㉠ ; count++)
temp = temp->link;
}
return count;
}temp->link == NULL
정답 ① · 해설 보기