분류 전체보기
-
자료구조 9장 연습문제 풀이자료구조 2021. 11. 12. 14:08
1. 다음 중 선형 자료구조가 아닌 것은? 가. 리스트 나. 스택 다. 큐 라. 트리 답 : 라. 트리 ? : 트리는 비선형 자료구조이다. 2. 다음의 수식 이진 트리를 후위 순회하여 수식에 대한 후위 표기식을 구하여라. + * * A B C D 답 : AB*CD*+ 3. 다음 중 같은 개수의 노드를 트리로 저장하는 경우 트리의 높이가 가장 큰 트리는 무엇인가? 가. 이진 트리 나. 포화 이진 트리 다. 완전 이진 트리 라. 편향 이진 트리 답 : 라. 편향 이진트리 ? : 편향 이진 트리는 왼쪽이나 오른쪽 서브트리만 가지는 이진 트리이기 때문에 높이가 가장 높다. 4. 20개의 노드로 구성된 이진 트리에서 간선의 개수와 가능한 최대 높이와 최소 높이를 구하여라. 답 : 간선의 개수 = 19 최대 높이 ..
-
운영체제 6장 연습문제 풀이운영체제 2021. 11. 10. 22:36
1. 다음 중 가장 바람직한 스케줄링 정책은? ① 프로세서 이용률을 줄이고 반환시간을 늘린다. ② 대기시간을 줄이고 반환시간을 늘린다. ③ 응답시간과 반환시간을 줄인다. ④ 반환시간과 처리율을 늘린다. 답 : ③ 응답시간과 반환시간을 줄인다. ? : 스케줄링은 시스템의 성능을 향상시키는데, 자원 할당의 공정성 보장, 단위시간당 처리량 최대화, 적절한 반환시간 보장, 오버헤드 최소화, 자원 사용의 균형 유지, 반환시간과 자원의 활용 간에 균형 유지, 실행 대기 방지 등의 목적으로 사용한다. ① 프로세서 이용률을 늘리고, 반환시간을 줄여야 한다. ② 대기시간과 반환시간 모두 줄여야 한다. ④ 반환시간은 줄이고, 처리율을 늘려야 한다. 2. 프로세서 스케줄링 특성 중 대화형 시스템에서 가장 중요한 인자로 사용..
-
C++ 연습문제 9.11C++ 2021. 11. 7. 16:44
임의 길이의 int형 배열을 다룰 수 있는 Array 클래스를 작성해보라. 멤버 변수로는 배열의 크기(int count_), 배열 포인터(int* ary_)를 가지고 있다. 객체 생성 시 각 원소의 값은 rand 함수를 사용하여 임의의 값(0 ~ 9)으로 채우도록 하라. 소멸자에서는 동적으로 생성한 메모리를 해제해야 한다. 다음 main 함수와 같이 실행될 수 있도록 만들어보라. main.cpp : #include #include #include "array.h" using namespace std; int main() { srand((unsigned)time(NULL)); Array ary1(3); Array ary2(5); cout
-
C++ 연습문제 9.8C++ 2021. 11. 7. 16:12
Point 클래스에 전위 감소 연산자와 후위 감소 연산자를 추가하고 이를 테스트해보라. 내 코드(main.cpp) : #include #include "point.h" using namespace std; int main() { Point pt1(1, 1); Point pt2 = pt1++; Point pt3 = ++(++pt1); //Point pt4 = (pt1++)++; Point pt5 = (++pt1)++; pt1.Print(); pt2.Print(); pt3.Print(); //pt4.Print(); pt5.Print(); return 0; } point.h : #include using namespace std; class Point { private: int x_, y_; public: P..
-
C++ 연습문제 9.2C++ 2021. 10. 30. 23:42
시간으 나타내는 Time 클래스를 만들어 보자. Time 클래스에는 시(int hour_), 분(int minute_), 초(int second_)를 나타내는 멤버 변수를 포함하고 있다. 다음 main 함수와 실행 결과를 참고하여 두 객체 사이의 + 연산이 가능하도록 만들어 보라. main.cpp : #include #include "time.h" using namespace std; int main() { Time time1(4, 50, 40); Time time2(3, 40, 30); Time time3 = time1 + time2; time1.Print(); time2.Print(); time3.Print(); return 0; } 내 코드(time.h) : #include using namespa..
-
C++ 연습문제 8.5C++ 2021. 10. 30. 22:59
Array 클래스는 임의 개수의 int형 원소를 저장할 수 있는 클래스이다. 이르르 위해 배열을 가리키는 포인터 변수(int *ary_)와 원소의 개수를 의미하는 int형 변수(int cnt_)를 멤버 변수로 가지고 있다. 다음 main 함수와 실행 화면을 참고하여 Array 클래스를 작성해보라. 단, 객체 소멸 시 소멸자를 통해 해당 객체를 위해 동적으로 생성한 메모리를 해제해야만 한다. main.cpp : #include #include "Array.h" using namespace std; int main() { Array ary1(5); Array ary2(7); Array ary3(ary1); ary2.Set(0, 11).Set(1, 12).Set(2, 13); ary1.Print(); ary2..
-
자료구조 8장 연습문제 풀이자료구조 2021. 10. 22. 00:51
1. 일상생활에서 발견할 수 있는 큐의 예를 설명하여라. 답 : 줄을 서서 기다리는 사람들 ? : 큐는 FIFO(First In First Out)의 방식이다. 2. 큐와 스택의 구조를 비교하여 설명하여라. 답 : 큐는 FIFO이기 때문에 먼저 들어간 자료가 먼저 나오고, 스택은 LIFO 구조이기 때문에 마지막에 들어간 자료가 먼저 나온다. 3. 1차원 배열의 선형 큐에서 잘못된 포화 상태 문제를 해결하는 방법을 설명하여라. 답 : 원소들을 비어 있는 앞 인덱스로 이동 4. [가→나→다→라] 순서로 큐에 원소를 삽입한 후에 모두 삭제하면 어떤 순서로 삭제되는지 설명하여라. 답 : [가→나→다→라] ? : 큐는 FIFO이기 때문에 삽입된 순서대로 삭제된다. 5. 원형 큐의 삭제 알고리즘을 순서대로 나열하여..
-
자료구조 7장 연습문제 풀이자료구조 2021. 10. 22. 00:19
1. 주변에서 LIFO(Last In First Out) 방식을 사용하는 스택의 예를 찾아 설명하시오. 답 : 웹 브라우저 뒤로 가기(가장 나중에 열린 페이지로 시작해서 되돌아간다. 2. 스택의 응용에서 다음의 수식을 후위 표기법으로 표기했을 때 옳은 것은? (((A / B) + C) - (D * E)) 가. A / B + C - D * E 나. AB / C + DE *- 다. A / B + C -* DE 라. AB / C + - DE * 답 : 나. AB / C + DE *- ? : 중위 표기법의 수식을 후위 표기법으로 변환하는 방법 1) 수식의 각 연산자에 대해서 우선순위에 따라 괄호를 사용하여 다시 표현한다. 2) 각 연산자를 그에 대응하는 오른쪽 괄호의 뒤로 이동시킨다. 3) 괄호를 제거한다. (..