Chimy's Program
자료구조 1강 - 자료(data)란 본문
자료(Data)
- 컴퓨터에 저장할 수 있는 모든 값
- 컴퓨터에서 허용하는 형태의 값만 저장할 수 있음 => 자료형
자료형(Data Type)
- 컴퓨터에 저장할 수 있도록 프로그래밍 언어에서 미리 정의된 값들의 집합
1. 시스템에서 제공하는 자료형
2. 사용자가 정의하는 자료형
자료의 단위
1. 비트(Bit)
- 0 또는 1을 기록할 수 있는 최소 단위
2. 바이트(Byte) => 8bits
- 1byte는 8bit로 구성
3. 워드(Word) => 4bytes or 8bytes
- 컴퓨터의 내부에서 한번에 전송하거나 처리하는 단위
- 4byte(32bit) 또는 8byte(64bit)로 많이 사용
자료의 구성
- 세상의 모든 자료는 문자와 숫자로 구성된다
- 문자 -> char, char*, string
- 숫자 -> 정수(int) or 실수(float)
시스템에서 제공하는 자료형(system-defined data type)
1. 문자표현(char)
① ASCII code : 영어기반 총 128개문자 표현
- 8bit로 영어, 숫자, 특수문자를 표현하는 체계
- 7bits + 1bit(parity 검사)
- 표현할 수 있는 문자에 한계가 있다
② UNI-code
- 16bit로 세상의 모든 문자를 표현할 수 있는 체계
2. 정수표현(int)
4byte를 사용(시스템에 따라서 다름)
- 표현할 수 있는 범위 : - 2³² ~ 2³¹ - 1
- 다양한 크기로 확장 : _int8, _int16, _int32, _int64
short(2byte), long(4byte), unsigned int(4byte) 등과 같은 다양한 정수 자료형이 존재
- short type의 표현 범위 : -2의 15제곱 ~ 2의 15제곱 - 1
- unsigned int type의 표현 범위 : 0 ~ 2³² - 1
음수의 3가지 표현 방법
- sign bit
- 1의 보수(1's complement)
- 2의 보수(2's complement)
3. 실수표현(float)
- 부동 소수점(floating point)
사용자가 정의하는 자료형(user-defined data type)
하나의 자료는 다양한 자료형을 가진 요소들의 집합으로 표현될 수 있음 ex. 학생정보
이러한 요소들의 집합으로 새로운 자료형을 정의
- struct(c언어), class(c++, java, python)
자료의 관리(manipulation)
- 추가(insert), 제거(delete), 검색(search), 갱신(modify), 출력, 정렬 등 많은 관리 작업이 가능
- 추가와 제거는 1번만 사용 가능
- 검색은 매우 빈번하게 사용 : 가장 중요한 관리 작업은 "검색"이다
자료의 검색(search)
- 주어진 집합에서 임의의 원소를 찾아라(find arbitrary)
- 주어진 집합에서 가장 먼저/늦게 온 원소를 찾아라(find earliest/last)
- 주어진 집합에서 top(최대/최소)인 원소를 찾아라(find top)
'BASE' 카테고리의 다른 글
자료구조 3강 - 성능과 점근적 분석법 (0) | 2020.03.16 |
---|---|
자료구조 2강 - 자료구조 기법(technique)란 (0) | 2020.03.15 |
접속관리 Connection Management (0) | 2020.03.15 |
IP Address IP 주소 (0) | 2020.03.14 |
Port Number 포트번호 (0) | 2020.03.13 |