[2013년] C++ 자료구조 1주차 연습문제
- 최초 등록일
- 2013.10.17
- 최종 저작일
- 2013.09
- 3페이지/
한컴오피스
- 가격 1,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
2013년 9월기준으로 작성했습니다.
목차
1. 구조적(알고리즘적) 설계 방법과 객체지향 설계 방법의 차이를 설명하라.
2. 객체란 무엇인가 ?
3. data의 추상화와 캡슐화를 설명하라.
4. data type과 abstract data type이란 ?
5. algorithm이란 무엇인가 ?
6. 다음 숫자들이 프로그램 1.8(선택정렬)에 의하여 정렬되는 과정을 설명하라.
7. recursion program을 설명하라.
8. 위 6번의 숫자들이 정렬된 상태에서 교재의 프로그램 1.11(이진탐색)에 의하여 7을 탐색하는 과정을 설명하라.
9. 25개의 정렬된 숫자 중 임의의 숫자를 이진탐색하는 경우 평균비교회수를 구하라.
10. 프로그램의 효율을 평가하는 기준인 Space complexity와 Time complexity에 대하여 설명하라.
11. 다음의 각 프로그램에서
1) 프로그램 문장의 정확한 실행 횟수를 테이블 방식으로 계산하라.
2) 프로그램의 time complexity는 ?
3) n가 10이 입력된 경우의 실행 결과는 ?
12. 교재의 프로그램 1.8(선택정렬)의 시간복잡도를 테이블 방식으로 구하라.
13. 실용적인 시간복잡도를 효율이 좋은 순서대로 나열하라.
본문내용
1. 구조적(알고리즘적) 설계 방법과 객체지향 설계 방법의 차이를 설명하라.
구조적설계방법은 소프트웨어를 프로세스로 본다. 그리고 소프트웨어를 프로세스의 스텝을 듈로 분해한다. 즉, 언어의 구문으로 구현하고, 프로그램을 구현을 하기 위한 자료구조는 이차적인 관심사와 기능적 모듈로 나누는 것이 우선시 된다. 반면, 객체지향적 설계는 소프트웨어를 응용분야의 개체를 모델링하는 객체의 집합으로 본다. 객체는 서로간의 상호작용을 하며, 소프트웨어 시스템 형성 및 기능적 분해는 객체로 분해된 후 고려한다. 소프트웨어의 재사용을 조장하여 부드러운 소프트웨어 시스템 가능하게하고 프로그래머가 효과적인 사용할 수 있게 해준다.
2. 객체란 무엇인가 ?
객체는 데이터와 절차적 요소의 결합으로 볼 수 있으며, 계산을 수행하고 상태를 가지고 있다.
3. data의 추상화와 캡슐화를 설명하라.
data의 추상화란 객체의 기능을 정의 하는 것이며, 데이터의 객체와 구현을 나누는 것이다. 캡슐화는 외부로부터 data 객체의 구현을 숨기는 것으로서 객체에 어떤 값이 들어와서 되돌려주는 값이 나오기까지의 과정을 숨기고 입력과 출력만을 보여주는 것을 말한다.
참고 자료
없음