티스토리 뷰
컴퓨터는 논리 연산, 저장을 수행한다.
- 자료(Data)의 연산
- 자료(Data)의 저장
자료구조는 자료(Data)를 저장하는 방법이고 알고리즘은 자료(Data)를 연산하기 위한 방법이다.
컴퓨터의 성능 향상에 따라 컴퓨팅 파워가 비약적으로 발전하고 있지만 유한한 자원이므로 이를 효율적으로 쓰기 위한 방법들이 고안되었다.
추상적 자료형 (Abstract Data Type : ADT)
컴퓨터 과학에서 추상적 자료형은 자료형(Data type)에 대한 수학적 모델이다. 자료(Data)의 형태와 연산들을 정의한 것
추상적 자료형은 이러한 자료(Data)를 다룰 때 유한한 컴퓨터 자원을 효율적으로 사용하기 위해 고안된 개념으로
자료구조는 추상 자료형이 정의한 연산들을 구현한 방법이다.
자료(Data)에 따라 효율적인 방법이 다를 수 있어 상황에 맞는 자료구조를 선택하고 알고리즘을 구현해야 효율적으로 컴퓨터의 리소스를 사용할 수 있다.
자료구조의 분류
- 형태에 따른 분류를 하면 선형과 비선형으로 구분할 수 있다.
선형 구조
- 자료(Data)가 순차적으로 나열된 형태(Structure)
비선형 구조
- 자료(Data)가 순차적으로 나열되지 않은 형태(Structure)
객체 구현
- 객체 (Object : 현실에 있거나 가상에 있는 물체 혹은 존재)를 정의
- Class 를 이용하여 프로그래밍으로 구현
- Class 에서 대체로 객체의 수치나 값(상태:state)에 관한 것은 속성 (Attribute) / 행동(behavior)과 연산에 관한 것은 메소드 (Method) 로 구현
추상화
- 이러한 구현 과정은 객체에서 필요한 부분을 자료(Data)로 추상(抽象. 뽑아낼 추, 코끼리 상 : Abstract) 한다.
클래스로 인스턴스를 생성 : ex)쿠키틀로 쿠키를 생성
class Cookie:
pass
mintchocochipcookie = Cookie()
Cookie 라는 클래스로 생성된 Object mintchocochipcookie 가 있다면 이 mintchocochipcookie 는 객체이며 Cookie 의 instance 이다.
class Cookie:
def __init__(self, name, ingredients):
self.name = name
self.ingredients = ingredients
mintchocochipcookie = Cookie('mintchocochip','base cookie, mintchochip 10 pieces')
객체 지향의 키워드
- 클래스
- 메시지 전달
- 다형성
- 캡슐화
- 추상화
- 상속
컴퓨터 (Computer)
- 이진법을 이용하여 논리 연산, 저장을 수행하는 전자 기계
- 컴퓨터는 트랜지스터(전기 스위치)로 이루어져 있으며 이를 모아 논리회로를 만들고 연산에 기반하여 작동하는 기계장치
자료구조 (Data structure)
- 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미
알고리즘
- 수학, 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차
- 계산을 실행하기 위한 단계적 절차를 의미하기도 함
- 문제 풀이에 필요한 계산절차 또는 처리과정의 순서
참고 :
개발새발! - 자료구조(Data Structure)와 추상 자료형(ADT)
HANAMON - [자료구조] 자료구조란? (자료구조를 배우는 이유)
초보몽키의 개발공부로그 - 강의노트 17. 알고리즘, 자료구조 개요
Connecting the dots - 추상적 자료형, 자료구조, 알고리즘의 차이
DNF LOVE - [자료구조] 자료구조의 선형, 비선형 분류에 따른 각 종류와 자료구조별 특징 간단 정리
파이썬 자료구조 알고리즘 - 01. 자료구조를 위한 사전지식 / a. 자료구조와 자료형
점프 투 파이썬 - 05장 파이썬 날개달기 05-1 클래스
'What I Learned' 카테고리의 다른 글
TIL_20220923_HTTP request get, post (0) | 2022.09.23 |
---|---|
TIL_20220922_Module, Package, PIP (1) | 2022.09.22 |
TIL_20220920_컴퓨터 구조 (0) | 2022.09.20 |
TIL_20220919_알고리즘, 자료구조, 모듈, API 개요 (1) | 2022.09.20 |
WIL_220913to220916_내일배움캠프3주차 (0) | 2022.09.17 |
- Total
- Today
- Yesterday
- dtl
- GIT
- HTML
- HTTP
- API
- 함수
- 클래스
- 파이썬
- 반복문
- 자료구조
- 스파르타코딩클럽
- css선택자
- 스파르타내일배움캠프
- 컴퓨터구조
- github
- 코드컨벤션
- 항해플러스ai
- wil
- 파이썬 함수 return
- Til
- 항해플러스후기
- 항해솔직후기
- 장고
- 예외처리
- 파이썬나누기
- css
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |