자료구조의 소개
🗃️ 강의
K-MOOC 자료구조
개요
🔶 Data structure
- 자료구조 : 자료를 효율적으로 관리하는 기법
- 자료(data), 관리(manipulation), 기법(technique), 효율적(efficiency)
- 리스트(list)/트리(tree) + 그래프(graph)
자료와 관리
자료(data)는 무엇인가?
⚙️ 자료(data)
- 컴퓨터에 저장할 수 있는 모든 값
- 컴퓨터에서 허용하는 형태의 값만 저장할 수 있음 ▶ 자료형
⚙️ 자료형(data type)
- 컴퓨터에 저장할 수 있도록 프로그래밍 언어에서
미리 정의된 값
들의 집합
1. 시스템에서 제공하는 자료형
2. 사용자가 정의하는 자료형
⚙️ 시스템에서 제공하는 자료형(system-defined data type)
비트(bit) | 바이트(byte) | 워드(word) |
---|
0 또는 1을 기록할 수 있는 최소 단위 | 1byte = 8bit | 4bytes(32bit) 또는 8bytes(64bit) |
ON/OFF, TRUE/FALSE | 8개의 비트로 구성된 데이터의 양을 나타내는 단위 | 컴퓨터 내부에서 한 번에 전송하거나 처리하는 단위 |
- 자료의 구성
1. 세상의 모든 자료는 문자와 숫자로 구성
2. 문자 → char
3. 숫자 → 정수(int) or 실수(float)
ASCII CODE(아스키 코드) | uni-code(유니코드) |
---|
8bit로 영어, 숫자, 특수 문자를 표현 | 16bit로 세상의 모든 문자를 표현(2^16) |
7bits + 1bit(parity 검사) | 한글까지 완벽하게 표현 가능 |
표현할 수 있는 문자에 한계가 존재(ex_한글) | |
- int(정수 표현)
1. 4 byte를 사용 (시스템에 따라서 다름)
2. short(2 bytes), long(4 bytes), unsigned int(4 bytes)등과 같은 다양한 정수 자료형이 존재함
3. 음수표현 ▶ 부호비트(sign bit), 1의 보수, 2의 보수
- float(실수 표현) : 부동 소수점(floating point)
부호(sign) | 지수(exponent) | 가수(value) |
---|
1 bit | 8 bits | 23 bits |
⚙️ 사용자 정의 자료형(user-defined data type)
- 하나의 자료는 다양한 자료형을 가진 요소들의 집합으로 표현될 수 있음
- 즉, 새로운 자료응 정의하기 위한 자료형으로 사용할 수 있도록 하는게 사용자 정의 자료형
sctruct | class |
---|
C | C++, JAVA, Python |
관리란 무엇인가?
⚙️ 자료의 관리
- 추가(insert), 삭제(delete), 검색(search), 갱신(modify) 등 많은 관리 작업이 가능
- 가장 중요한 연산 : 추가, 삭제, 검색
- 추가와 삭제는 1번만 사용 가능
- 검색은 매우 빈번하게 사용 : 가장 중요한 관리 작업은 ✨
검색
✨
⚙️ 검색의 3가지 종류
- 주어진 집합에서 임의의 원소를 찾아라 ▶ find arbitrary
- 주어진 집합에서 가장 먼저/즙게 온 원소를 찾아라 ▶ find earliest/last
- 주어진 집합에서 최대/최소인 원소를 찾아라 ▶ find top
자료구조도 다시 복습..
달려달려..! ╰(°▽°)╯
✨단원 기준 : KMOOC 기준으로 작성✨