.etc/Computer Fundamentals
[자료구조] 자료구조 기초
Jueun Park
2020. 11. 19. 19:55
자료구조란?
자료구조는, 자료를 저장한 방식을 말한다.
예시 ) 배열, 리스트, 트리 등
자료구조와 알고리즘의 관계
방청소를 한다고 생각해보자.
목적 : 책을 높이가 낮은 것부터 순서대로 책꽂이에 정리하고 싶다.
- 만일 책이 여기저기 흩어져 있다면 먼저 책들을 한곳으로 모아야한다.
- 만일 책이 여기저기 흩어져 있다면 먼저 책들을 한곳으로 모아야한다.
- 하지만 책이 책장에 잘 꽂혀있는 상태라면 크기가 큰 책을 골라서 계속 뒤로 꽂으면 된다.
- 하지만 책이 책장에 잘 꽂혀있는 상태라면 크기가 큰 책을 골라서 계속 뒤로 꽂으면 된다.
같은 문제라도, 책이 어떻게 꽂혀있느냐에 따라 해결방법이 달라지는 것인데
이를 자료구조에 대입하면 아래 표1)처럼 생각할 수 있다.
표 1) 방청소를 자료구조에 대입해 생각해보기
비유 | 1번의 경우 | 2번의 경우 |
---|---|---|
자료: 데이터 | 책 | 책 |
자료구조 : 데이터를 저장한 방식 | 어질러져 있음. | 책장에 꽂혀있음. |
문제를 해결하는 방식: 알고리즘 | 책을 모은다 -> 책의 키 별로 그룹을 나눈다 -> 꽂는다. | 책장에 꽂힌 책중에 큰 책을 뒤로 보낸다(반복) |
위의 비유를 통해, 자료구조(책이 저장된 방식)에 따라 알고리즘이 달라진다는 것을 알 수 있다.
##선형구조와 비선형구조
* 선형구조 : 자료를 나란히 저장한 자료구조
* 비선형구조 : 나란히 저장하지 않는 자료구조
표 2) 선형구조와 비선형구조의 예
션형구조 | 비선형구조 |
---|---|
리스트 | 트리 |
스택 | 그래프 |
큐 | - |
덱(별로 안 중요함) | - |
*내용을 퍼가실때는 출처 표기를 해주세요.(juepark@student.42seoul.kr)
*내용이 도움이 되었다면 공감을 눌러주세요