분류 전체보기
-
자료구조 6장 연습문제 풀이자료구조 2021. 10. 21. 22:34
1. 순차 자료구조 방식과 연결 자료구조 방식을 비교 설명하시오. 답 : 순차 자료구조에서의 연산 시간에 대한 문제와 저장 공간에 대한 문제를 개선한 연결 자료구조는 다음 원소의 주소에 의해 순서가 연결되는 방식이기 때문에 순차 자료구조와 달리 물리적인 순서를 맞추기 위한 오버헤드가 발생하지 않는다. 2. 단순 연결 리스트와 원형 연결 리스트, 이중 연결 리스트의 특징을 설명하시오. 답 : 단순 연결 리스트는 단방향을 가리키고, 원형 연결 리스트는 마지막 노드가 첫 번째 노드를 가리킴, 이중 연결 리스트는 양방향을 가리키고 첫 번째, 마지막 노드가 서로를 가리키는 모습을 하고 있다. 3. 다음 참조 변수에 대한 연산의 의미를 설명하시오. ① p = p.link; ② p = q; ③ p.link = q; ..
-
자료구조 5장 연습문제 풀이자료구조 2021. 10. 21. 22:13
1. 8개의 원소가 있는 선형 리스트에서 3번 자리에 새로운 원소를 삽입하려면 몇 개의 원소를 이동해야 하는가? 답 : 5 ? : (마지막 원소의 인덱스 - 삽입할 자리의 인덱스) + 1 = (7 - 3) + 1 = 5 2. 선형 리스트 A를 2차원 배열 A[5][3]으로 표현했을 때, A[3][1] 원소는 몇 번째 원소인가? 행 우선 순서 방법과 열 우선 순서 방법에 따라 각각 구하시오. 답 : 행 우선 순서 방법 = 10 / 열 우선 순서 방법 = 8 ? : 2차원 배열 A[ni][nj]일 때 행 우선 순서 방법 = i x nj + j / 열 우선 순서 방법 = j x ni x i A[3][1] = 3 x 3 + 1 = 10 / 1 x 5 + 3 = 8 3. 시작위치가 100번지이고 원소의 길이가 5..
-
자료구조 2장 연습문제 풀이자료구조 2021. 10. 21. 21:09
1. 소프트웨어 생명주기와 각 단계를 시스템 예를 들어 설명하시오. 답 : 소프트웨어 생명주기의 단계는 다음과 같다. 요구 분석 → 시스템 명세 → 설계 → 구현 → 테스트 → 유지 보수 요구 분석 단계에서는 개발해야 할 소프트웨어의 성격을 정확히 이해하고 개발 방법과 필요한 자원과 예산을 예측해야 한다. 시스템 명세 단계에서는 시스템 기능 명세서를 작성하여 소프트웨어의 입력 데이터는 무엇이며, 입력 데이터로 처리하는 내용과 그 결과 생성되는 출력이 무엇인지 정의해야 한다. 이때 기능 명세서는 개발 과정에서 의견 차이나 오류로 인해 재개발 작업이나 사용자 불만이 발생하지 않도록 가능한 정확하게 작성되어야 한다. 설계 단계에서는 개발 목표 기능을 어떻게 해결할 것인지를 구체적으로 정의해야 한다. 구현 단계..
-
자료구조 1장 연습문제 풀이자료구조 2021. 10. 21. 16:08
1. 다음 중 선형 자료구조가 아닌 것은? 가. 리스트 나. 그래프 다. 스택 라. 큐 답 : 나. 그래프 ? : 선형구조에는 리스트, 연결 리스트, 스택, 큐, 덱이 포함되어 있다. 그래프는 비선형구조이다. 2. 컴퓨터에서 정보를 표현할 수 있는 최소 단위는 무엇인가? 답 : 비트(Bit) ? : 한 자리의 1 또는 0을 표현하는 단위를 비트라고 하는데, 비트는 디지털 시스템에서 자료를 표현하는 최소 단위이다. 3. 6개의 비트를 가지고 서로 다른 상태값을 표현할 때 최대 몇 개의 값을 표현할 수 있는가? 답 : 64개 ? : 26개를 표현할 수 있다. 4. (1001)2을 10진수로 변환하면 얼마인가? 답 : 9 ? : 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 1 + 8 + 0..
-
C++ 연습문제 7.9C++ 2021. 10. 19. 18:38
정사각형과 원을 동시에 표현할 수 있는 Shape 클래스를 만들어 보자. Shape 클래스는 멤버 변수로 정사각형 또는 원을 의미하는 타입 변수(int type_)를 가지고 있으며, double형 변수 하나(double len_)를 통해 정사각형의 경우 한 변의 길이를 나타내고 원의 경우 반지름을 나타내도록 하라. 생성자를 통해 타입과 한 변의 길이(반지름)를 지정할 수 있으며 멤버 함수로는 각 도형의 면적을 계산하는 GetArea 함수가 있다. 이때 도형의 타입 값으로 정사각형은 1, 원은 2로 가정하라. 원의 면적 계산을 위한 PI 값은 const 멤버 변수로 선언하라. 그리고 현재 생성된 객체들 중 각 타입의 도형이 몇 개인지 알 수 있도록 static 멤버 변수를 사용해 보라. 다음 main 함수..
-
C++ 연습문제 7.4C++ 2021. 10. 19. 18:27
다음 main 함수가 수행될 수 있도록 Point 클래스에 SetX와 SetY 멤버 함수를 추가해 보라. int main() { Point pt1; pt1.SetX(3).SetY(4); pt1.Print(); pt1.SetY(6).SetX(5); pt1.Print(); return 0; } · 실행 결과 (3, 4) (5, 6) 내 코드(Point.h) : #include using namespace std; class Point { public: Point& SetX(int x) { x_ = x; return (*this); } Point& SetY(int y) { y_ = y; return (*this); } void Print() { cout
-
C++ 연습문제 6.4C++ 2021. 10. 19. 18:20
Student라는 클래스를 만들어 보라. Student 클래스는 이름(char name_[20]), 학번(int number_), 나이(int age_)를 저장하기 위한 멤버 변수를 포함하고 있다. 그리고 생성자와 멤버 변수의 값을 변경하기 위한 멤버 함수, 데이터를 출력하기 위한 멤버 함수가 필요하다. main 함수와 실행 결과를 참고하도록 하라. main 함수 int main() { Student st1("홍길동", 11111111, 25); Student st2; st1.Print(); st2.Print(); st2.SetName("이순신"); st2.SetNumber(22222222); st2.SetAge(30); st2.Print(); return 0; } · 실행 결과 이름 : 홍길동 학번 :..
-
C++ 연습문제 2.23C++ 2021. 10. 19. 17:59
2개 이상, 5개 이하의 int형 값을 매개변수로 전달받아 합을 반환하는 Sum 함수를 구현하고 테스트 해 보라. 이때 Sum 함수는 단 하나만 구현해야 한다. 디폴트 인자의 복습을 위한 간단한 문제이다. 내 코드 : #include using namespace std; int Sum(int a = 0, int b = 0, int c = 0, int d = 0, int e = 0) { return a + b + c + d + e; } int main() { cout