시작하기 앞서
이번주 부터 스터디에 들어가기로 했다.
한주에 모의고사 4회씩
인상깊은 문제 4개를 주 2회마다 발표하고 기록하는 스터디이다.
같이 푸는 문제집이 필요하기에 문제집을 구매했다.
이제 문제풀이 방법에 대해 공부하도록 하자.
1번
운영체제 발전사
일괄처리 시스템 -> 다중처리 시스템 -> 가상처리 시스템 -> 분산처리 시스템
2번
- SaaS(Software as a Service)
네트워크
를 통해서 애플리케이션 기능 이용- 이용자가 원하는
소프트웨어
를 임대 제공
- PaaS(Platform as a Service)
- 소프트웨어 개발에 필요한
플랫폼
을 임대 제공
- 소프트웨어 개발에 필요한
- IaaS(Infrastructure as a Service)
- 서버, 스토리지 등 하드웨어
자원
을 임대 제공
- 서버, 스토리지 등 하드웨어
4번
문제
주어진 조건을 잘 확인해 문제를 해결하면 된다.
- 루트노드 레벨은 0
- n0은 차수가 0인 노드, n1은 차수가 1인 노드, n2는 차수가 2인 노드
- 이진트리 특성상 차수가 2인 노드까지 밖에 없다
해설
- 1번
- 단말노드 개수가 n0 일때 n2와의 관계식은?
- 그림을 보면 알 수 있듯이 n0 = n2 +1 이다
- 레벨 3의 단말 노드를 몇개 빼더라도 개수를 세려보면 공식이 유지됨을 알 수 있음
- 2번
- 깊이는 루트노드는 0부터 시작해서 k=3일 때 보면 2^(k+1)-1개의 노드를 최대로 가짐을 알 수 있다.
- 3번
- 레벨 k의 노드 최대 개수는 2^k개
- 4번
- 이진트리의 전체 노드 개수는 차수가 0, 차수가 1, 차수가 2인 노드가 전부이다
5번
문제
- int a는 외부변수로 전역변수 역할을 하고 있다.
- int b는 자동변수로 foo함수의 지역변수이다.
- static int c는 정적변수로 foo함수 안에 있지만 초기화는 한번만 된다. -> 그렇다고 외부에서 c는 지역변수라 호출이 안된다. & 외부변수에 이미 c가 정의 되있다면 출력시 외부변수인 전역변수가 출력된다는 뜻.
해설
- while문을 통해 총 3번 반복한다.
- sum = 0 + foo()
- 첫번째 foo()함수를 통해 b=1로 초기화 c=1로 초기화, return 값은 1+1+1이 리턴된다. sum = 0 + 3
- sum = 3 + foo()
- 두번째 foo()호출로 인해 b=1로 초기화 정적변수인 c는 값이 증가한 2가 적용되어 리턴값은 2+1+2가 리턴된다. sum = 3 + 5
- sum = 8 + foo()
- 세번째 foo()호출로 인해 b=1로 초기화 정적변수인 c는 값이 또 증가한 3이 적용. 리턴값은 3 + 1 + 3 이 리턴된다. sum = 8 + 7
- sum = 15인 값이 출력된다.
7번
문제
해설
- HTTP는 80번포트
- 하이퍼텍스트 전송프로토콜
- HTTP는 무상태 프로토콜로 HTTP 서버는 클라이언트에 대한 어떤 정보도 유지하지않음.
- 무상태 프로토콜 예 : HTTP, IP
- 유상태 프로토콜 예 : TCP
9번
데이터베이스 특징
- 실시간 접근 가능 - 실시간 처리 가능
- 계속적인 변화를 함 - 동적으로 삭제,삽입,갱신등 끊임없이 변함
- 동시에 공유됨 - 목적이 다른 여러 응용프로그램들이 공용으로 사용하는것, 동시에 접근 가능
- 내용에 의한 참조함 - 주기억장치처럼 주소에 참조하는 것이 아닌 내용에 참조함
10번
문제
컴퓨터 구성요소 제어 및 자료흐름
해설
- 중앙처리장치는 제어장치, 연산장치, 레지스터로 구성됨 (O)
- 제어장치는 명령어 레지스터와 PC가 필요함
- 가산기는 ALU에 있으며 덧셈을 보조해줌
- 입출력장치는 중앙처리장치와 속도차이로 정보를 직접 교환하지않음 (그림보고 이해)
11번
정렬 알고리즘 시간복잡도
- 제자리 정렬은 추가 기억장소를 거의 사용하지않는 알고리즘이다.
- 안정적 불안정적은 중복된 값이 입력순서와 상관없이 정렬되나 안되나 차이이다.
13번
무결성 제약조건
- 개체무결성