1. 자료구조 개념
1) 자료를 효율적을 관리하는 방법
2) 자료에 효율적으로 접근하고 수정할 수 있도록 저장, 조직, 관리하는 방법에 관한 이론
3) 알고리즘: 문제 해결을 위해 입력을 받아 원하는 출력을 만들어내는 일련의 과정을 기술한 것
4) 알고리즘에 있어 부품 같은 역할
5) 모듈화: 문제 해결을 위한 생각의 과정에서 의미 단위를 잡는 일, 각 모듈은 더 작은 모듈로 나뉠 수 있다.
2. 자료구조의 종류
1) 배열
2) 리스트
3) 행렬
4) 스택
5) 그래프
6) 트리
7) 최대 힙
8) 큐

3. 자료구조와 알고리즘
1) 알고리즘: 문제 해결 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것
2) 알고리즘 표기법
① 자연어를 이용한 서술적 표현
일관성, 명확성 ↓
② 순서도(Flow Chart)를 이용한 도식화
명령의 흐름을 쉽게 파악 but, 복잡한 알고리즘에는 한계 有
③ 프로그래밍 언어를 이용한 구체화
특정 프로그래밍 언어를 모르면 이해가 어려움, 범용성 ↓
④ 가상코드(Pseudo-Code)를 이용한 추상화
4. 자료구조의 추상 데이터 타입
1) 추상
추상 레벨이 높다
=관점의 계층이 높다.
2) 추상 데이터 타입 ADT(Abstract Data Type)
자료구조에서 '작업을 나열해 표현'하는 것을 "추상적으로 표현한다"라고 하며, 대상을 그렇게 표현한 것을 추상 데이터 타입이라 함.
-대략 하나의 클래스에 대응 in 객체 지향 언어 *클래스는 자신의 규칙을 따르는 객체를 만들기 위한 틀
-하나의 ADT에 여러 ADT가 포함될 수 있음.
-어떤 데이터 타입이 어떤 작업으로 이루어지는지를 세부 사항 없이 표현
'Major > Computer Science' 카테고리의 다른 글
| [파이썬 자료구조] 03. 알고리즘의 성능 (0) | 2025.04.18 |
|---|---|
| [파이썬 자료구조] 02. 재귀와 수학적 귀납법 (0) | 2025.04.16 |
| [파이썬] 숫자형, 문자열 자료형 (점프 투 파이썬 공부 1일차) (0) | 2025.02.25 |
| [python web programming] 1. 파이썬 가상환경 (0) | 2025.02.23 |
| 기본 shell 명령어들 정리 (1) | 2025.02.22 |