AIB 섹션 5 컴퓨터공학 N521 Data Structure Fundamentals
- 내가 생각하는 자료구조
- 이제까지는 자료를 담아두는 형태 중 하나. 이렇게 사용하면 편하겠다 라고만 생각했었는데, 애초에 자료구조가 만들어진 이유가 특정 문제에 대해 자주 사용하면 편리한 구조를 가진 자료구조를 만들어서 확장해낸 것이군.
- 소프트웨어 동작에 자료구조가 필요한 이유
- 현실을 컴퓨터로 표현하는 것에 자료구조가 필요하다. 조직도 표현을 위해 Tree를 사용할 수 있다. 디렉터리 표현을 위해 또한 Tree 사용 가능. 거대한 데이터를 효과적으로 관리하기 위해 또한 자료구조가 필요하다. 아주 많은 데이터가 있을 때 정리가 되지 않으면 찾기 어렵다. 그래서 특정 조건에 따라 정렬해놓는 것이 좋다.
- 프로그래밍의 기능을 분류해볼 수 있을까
- 파이썬에서 자료구조 구현함에 있어서 무엇이 편리한가
ADT: Abstract data type. only behaviors are implemented
학습목표: ADT: 연결리스트, 큐, 스택의 설계 익히기
키워드: 추상자료형, 내장함수, 자료구조
ADT
ADT에서 Abstract의 뜻. 복잡해지고 많아지는 자료 구조 사이에서 핵심이 되는 부분을 요약해놓음.
연결리스트
연결리스트: 동적으로 리스트를 관리한다. 리스트들이 떨어져서 연결되어 있음. 반면 파이썬의 리스트는 인덱스를 사용하며 붙어있다.
연결리스트에서의 연결은 참조로 구현되는데 마치 클래스에서 메소드나 속성을 사용하기 위해 .
찍는 것처럼. 삽입은 =
로 표현. 그리고 크기를 별도로 지정해줄 필요는 없다(동적).
Queue
FI-FO: 들어온 것 먼저 처리된다. 파이썬에서 deque(데크) double ended queue로 양방향으로 작동하는 것을 주로 사용함
stack
LI-FO: 가장 끝에 있는 것 먼저 처리. 예를 들어 컴퓨터 켜졌을 때 여러 절차 중 OS 켜지고 앱 켜지는데, 꺼질 때는 앱 꺼지고 마지막에 OS 꺼진다.
댓글남기기