본문 바로가기
✍ 따뜻한 개발 공부

[자료구조] # 01, 02

by 따따시 2023. 11. 1.

 

잘 된 소프트웨어는 컴퓨터 밖의 세상을 최대한 잘 만들어서 컴터에서 실행시켜야 함

 

thing + action

ex) 동영상(data) + 보다(see)

 

세상을 잘 모델링해서 잘 가져와 구현시켜야 좋은 프로그래밍이 된다.

 

- 굳이 데이터 타입을 왜 만들었을까?

사람 x 사람 곱할 순 없으니

미리 성질이 비슷한(ex. 20과 30 , 0.1과 0.002) 애들을 지정한 것

 

1) Primitive data type

(원시데이터형)

: 내가 안만들어도 이미 존재해서(태초부터) 벌써 만들어져있어서 나한테 준 것

인티져, 실수, 캐릭터 등

 

2) 사용자 정의 데이터형

:  시스템 정의 데이터형으로 충분하지 않을때 대부분 프로그래밍 언어는 사용자가 직접 데이터형을 정의할 수 있게 해줌

 


 

- 데이터 구조는 효율적으로 데이터를 사용하기 위해 컴퓨터에 데이터를 저장하고 정리하는 방법이다. 

 

 

 1) 선형 데이터 구조 (linear)

ex) 연결 리스트, 스택, 큐

 

2) 비선형 데이터 구조 (non-linear)

ex) 트리, 그래프

 

 

 

- 추상화(abstract)

: 중요한 것을 요약한 것 (abstract)

: 중요하지 않은 것을 지워버리는 것 (verb)

 

-> 특정 관점에 따라서 '중요성'을 요약하고 그렇지 않은 관점에서 '중요하지 않은 것'은 지워버리는 것

ex) 어떨땐 학생들의 키와 몸무게가 중요하지만 수강신청하는 행위에선 키와 몸무게는 중요하지 않아지는 것처럼

 

 

- 추상 데이터형(ADT)

ADT는 두 부분으로 구성

 

1) 연산의 선언

2) 데이터 선언

 

ex) 생각해보면 교수(데이터)가 할 수 있는 행위(연산) 이 있고, 학생(데이터)이 할 수 있는 행위(연산)은 따로 있자농

 

 

'사용자 관점'에서만 생각하라. 

임플리먼트의 입장이 아니라 사용자 관점에서 고려해야 한다. 

 

큰 그림을 그리는 걸 '사용자 관점'에서 생각하라는 것. 

 

 

 

 

 

 

 

 

댓글