컴퓨터과학 개론

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
>
새로운 AI자료
생성
다운로드

상세정보

소개글

"컴퓨터과학 개론"에 대한 내용입니다.

목차

1. 컴퓨터에서의 정수와 실수 표현
1.1. 정수의 표현 방식
1.1.1. 부호 없는 정수
1.1.2. 부호가 있는 정수
1.1.3. 1의 보수와 2의 보수
1.2. 실수의 표현 방식
1.2.1. 고정 소수점 방식
1.2.2. 부동 소수점 방식

2. 이진 트리의 특성
2.1. 이진 트리의 정의 및 구조
2.2. 이진 트리의 순회 방법
2.3. 포화 이진 트리와 완전 이진 트리

3. 정렬 알고리즘의 종류와 특징
3.1. 선택 정렬
3.2. 버블 정렬
3.3. 삽입 정렬
3.4. 퀵 정렬
3.5. 합병 정렬

4. 가상 기억 장치 관리 기법
4.1. 페이징 기법
4.2. 세그먼테이션 기법
4.3. 페이지 반입 기법과 배치 기법
4.4. 교체 기법

5. 데이터베이스 시스템의 3단계 구조
5.1. 외부 단계와 외부 스키마
5.2. 개념 단계와 개념 스키마
5.3. 내부 단계와 내부 스키마
5.4. 스키마 간 사상

6. OSI 참조 모델의 계층 구조
6.1. 물리 계층
6.2. 데이터링크 계층
6.3. 네트워크 계층
6.4. 전송 계층
6.5. 세션 계층
6.6. 표현 계층
6.7. 응용 계층

7. 함수의 매개변수 전달 방식
7.1. 값에 의한 호출
7.2. 참조에 의한 호출

8. 참고 문헌

본문내용

1. 컴퓨터에서의 정수와 실수 표현
1.1. 정수의 표현 방식
1.1.1. 부호 없는 정수

컴퓨터에서는 정수를 2진수로 표현한다. 부호 없는 정수는 0과 1로만 표현되며, 모든 비트가 양의 수를 나타낸다. 부호 없는 정수의 표현 범위는 0부터 2^N-1까지이다. 예를 들어, 8비트를 사용할 경우 0부터 11111111(2진수), 즉 255(10진수)까지 표현할 수 있다. 비트의 개수가 N일 때, 부호 없는 정수는 0부터 2^N-1 사이의 숫자를 표현할 수 있다. 이는 컴퓨터가 정수를 2진수로 표현하기 때문이다. 부호 없는 정수는 음수를 표현할 수 없지만, 양의 정수만을 표현할 수 있기 때문에 더 큰 숫자 범위를 나타낼 수 있다는 장점이 있다.


1.1.2. 부호가 있는 정수

부호가 있는 정수는 음수와 양수를 모두 표현할 수 있는 정수이다. 부호가 있는 정수는 다음과 같은 세 가지 방식으로 표현할 수 있다.

첫 번째는 부호화 크기 방식이다. 부호 비트를 사용하여 양수와 음수를 구분한다. 최상위 비트가 0이면 양수, 1이면 음수를 나타낸다. 양수는 부호 비트를 제외한 나머지 비트로 값을 표현하고, 음수는 2의 보수 형태로 표현한다. 예를 들어, 4비트 정수에서 +5는 0101, -5는 1011로 표현된다.

두 번째는 1의 보수 방식이다. 1의 보수는 각 비트를 반대로 하여 표현한다. 즉, 0을 1로, 1을 0으로 바꾸면 된다. 예를 들어, 4비트 정수에서 +5는 0101, -5는 1010으로 표현된다.

세 번째는 2의 보수 방식이다. 2의 보수는 1의 보수에 1을 더한 값으로 표현한다. 예를 들어, 4비트 정수에서 +5는 0101, -5는 1011로 표현된다.

2의 보수 방식은 0이 두 개 존재하는 문제가 해결된다는 장점이 있어 대부분의 컴퓨터에서 부호 있는 정수를 표현할 때 사용된다. 이 방식을 사용하면 덧셈 연산 시 부호 처리를 따로 하지 않아도 되는 장점이 있다.


1.1.3. 1의 보수와 2의 보수

부호가 있는 정수를 표현하기 위해서는 일반적으로 1의 보수나 2의 보수 방식을 사용한다. 이는 음수를 표현하기 위해 고안된 방법이다.

1의 보수는 양수를 그대로 표현하고, 음수는 양수의 각 비트를 반대로 하여 표현한다. 예를 들어 10진수 5의 2진수 표현은 0101이고, 이 수의 1의 보수는 1010이 된다. 이러한 1의 보수 방식은 0이 두 개(+ 0, -0) 생기는 단점이 있다.

이를 해결하기 위해 고안된 것이 2의 보수 방식이다. 2의 보수는 1의 보수에 1을 더한 값으로 표현한다. 예를 들어 10진수 5의 2진수 표현 0101의 2의 보수는 1011이 된다. 2의 보수 방식에서는 0이 하나만 존재하기 때문에 1의 보수 방식의 단점이 해결된다.

2의 보수 방식은 뺄셈 연산을 덧셈 연산으로 처리할 수 있게 해준다. 예를 들어 5 - 7을 계산하려면 5에 -7의 2의 보수인 1001을 더하면 된다. 이처럼 2의 보수 방식은 부호 있는 정수의 표현과 효율적인 산술 연산을 가능하게 하는 장점이 있다.


1.2. 실수의 표현 방식
1.2.1. 고정 소수점 방식

고정 소수점 방식은 실수를 표현하는 방법 중 하나로, 소수부의 자릿수를 사전에 정해놓고 고정된 자릿수만큼의 소수를 표현하는 방식이다.

컴퓨터에서는 주로 4바이트(32비트) 실수를 기준으로 표현하는데, 이 경우 부호 1비트, 정수부 16비트, 소수부 16비트로 구성된다. 따라서 정수부와 소수부의 자릿수가 고정되어 있어, 정수부는 -32,768 ~ 32,767의 범위를, 소수부는 0.0000 ~ 0.9999의 범위를 표현할 수 있다.

고정 소수점 방식은 실수를 표현할 수 있는 범위가 제한적이라는 단점이 있다. 정수부의 비트 수가 늘어나면 더 큰 정수를 표현할 수 있지만, 그에 따라 소수부의 표현 범위가 줄어들게 된다. 따라서 큰 범위의 실수를 표현하기 위해서는 소수점 이하 정밀도가 낮아지게 된다.

이러한 한계 때문에 컴퓨터에서는 고정 소수점 방식보다는 부동 소수점 방식을 주로 사용한다. 부동 소수점 방식은 실수를 표현할 때 정수부와 소수부를 구분하지 않고 지수부와 가수부로 구분하여 표현함으로써, 더 넓은 범위의 실수를 표현할 수 있다는 장점이 있다.


1.2.2. 부동 소수점 방식

부동 소수점 방식은 정수부와 소수부로 나누어 표현하는 것이 아니라, 부호, 가수, 지수로 나누어 표현하는 방식이다. 부동 소수점 방식은 고정 소수점 방식보다 더 넓은 범위의 실수를 표현할 수 있다는 장점이 있다.

부동 소수점 방식은 부호 비트, 지수 부분, 가수 부분으로 구성된다. 부호 비트는 실수가 양수인지 음수인지를 나타내며, 지수 부분은 2의 지수를 표현한다. 가수 부분은 소수점 이하 부분을 표현한다.

부동 소수점 방식에는 단정도(single precision)와 배정도(double precision) 방식이 있다. 단정도 방식은 부호 1비트, 지수 8비트, 가수 23비트로 구성되며, 배정도 방식은 부호 1비트, 지수 11비트, 가수 52비트로 구성된다.

지수 부분의 구성에 있어서 bias라는 개념이 도입된다. 지수 부분에 bias를 더하여 지수를 표현함으로써, 지수 부분의 표현 범위를 늘릴 수 있다. 예를 들어 지수 부분이 8비트인 경우, bias는 127이 된다. 따라서 실제 지수 값이 -127부터 128까지 표현될 수 있다.

부동 소수점 방식은 고정 소수점 방식에 비해 보다 넓은 범위의 실수를 표현할 수 있다는 장점이 있지만, 항상 오차가 존재한다는 단점이 있다. 즉, 컴퓨터에서 실수를 정확하게 표현할 수 없다는 것이다. 따라서 부동 소수점 연산 시 정밀도에 대한 주의가 필요하다.


2. 이진 트리의 특성
2.1. 이진 트리의 정의 및 구조

이진 트리는 트리 중에서 모든 노드의 차수가 최대 2개를 넘지 않는 트리이다. 즉 노드의 차수가 하나 또는 두 개이고, 따라서 루트를 기준으로 최대 두 개의 서브트리를 가지고 왼쪽 서브트리와 오른쪽 서브트리로 구분된다.

서브트리가 최대 두 개를 가질 수 있으니 서브트리가 한 개인 이진트리도 가능한데 이렇게 차수가 모두 1인 한쪽으로만 치우친 이진 트리와 차수가 모두 2인 이진트리를 구성할 수 있는 이진트리의 특성으로 이진트리의 최대 높이와 최소 높이를 계산할 수 있다.

노드의 개수가 N인 경우 최대 높이는 노드의 개수와 같은 N이 되고 최소 높이는 [log₂N]+1이 된다. 이진트리는 주요 연산은 삽입, 삭제, 순회인데 그 중에서 일정한 순서에 따라 트리에 있는 각 노드를 한 번씩 방문하는 순회 연산이 가장 대표적이다.


2.2. 이진 트리의 순회 방법

이진 트리의 순회 방법은 루트 노드(D), 왼쪽 서브트리(L), 오른쪽 서브트리(R)를 어떤 순서로 방문하느냐에 따라 전위(preorder), 중위(inorder), 후위(postorder) 순회로 구분된다.

전위 순회는 루트 노드(D)를 먼저 방문한 뒤 왼쪽 서브트리(L), 오른쪽 서브트리(R)를 차례대로 방문하는 방식이다. 즉, D-L-R의 순서로 순회한다. 이를 통해 얻은 결과는 루트 노드, 왼쪽 서브트리, 오른쪽 서브트리의 순서대로 나열된다.

중위 순회는 왼쪽 서브트리(L)를 먼저 방문한 뒤 루트 노드(D), 오른쪽 서브트리(R)를 차례대로 방문하는 방식이다. 즉, L-D-R의 순서로 순회한다. 이를 통해 얻은 결과는 왼쪽 서브트리, 루트 노드, 오른쪽 서브트리의 순서대로 나열된다.

후위 순회는 왼쪽 서브트리(L), 오른쪽 서브트리(R)를 먼저 방문한 뒤 루트 노드(D)를 마지막으로 방문하는 방식이다. 즉, L-R-D의 순서로 순회한다. 이를 통해 얻은 결과는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드의 순서대로 나열된다.

이진 트리의 순회 방법은 트리 내 노드를 어떤 순서로 방문하느냐에 따라 달라지며, 이를 통해 트리 내 정보를 선형적인 순서로 얻을 수 있다. 따라서 전위, 중위, 후위 순회는 이진 트리에서 중요한 기본 연산이라고 할 수 있다."


2.3. 포화 이진 트리와 완전 이진 트리

포화 이진 트리와 완전 이진 트리는 이진 트리의 특수한 형태이다. 포화 이진 트리는 모든 노드가 두 개의 자식 노드를 가지는 이진 트리이다. 완전 이진 트리는 마지막 레벨을 제외한 모든 레벨의 노드가 꽉 차 있고, 마지막 레벨의 노드들은 왼쪽부터 차례대로 배치되어 있는 이진 트리이다.

포화 이진 트리는 깊이가 h일 때 노드의 개수가 최대 2^h - 1개이다. 예를 들어 깊이가 3인 포화 이진 트리는 2^3 - 1 = 7개의 노드를 가진다. 이처럼 포화 이진 트리는 노드가 꽉 차 있어 트리의 구조가 안정적이고 정돈된 형태를 가진다.

반면, 완전 이진 트리는 마지막 레벨에서 일부 노드가 비어있을 수 있다. 다만 비어 있는 노드들은 항상 오른쪽에 위치한다. 따라서 완전 ...


참고 자료

이관용, 정광식, 컴퓨터과학개론, 한국방송통신대학교출판문화원(2015년 07월 25일).

주의사항

저작권 EasyAI로 생성된 자료입니다.
EasyAI 자료는 참고 자료로 활용하시고, 추가 검증을 권장 드립니다. 결과물 사용에 대한 책임은 사용자에게 있습니다.
AI자료의 경우 별도의 저작권이 없으므로 구매하신 회원님에게도 저작권이 없습니다.
다른 해피캠퍼스 판매 자료와 마찬가지로 개인적 용도로만 이용해 주셔야 하며, 수정 후 재판매 하시는 등의 상업적인 용도로는 활용 불가합니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우