.etc/Computer Fundamentals

[자료구조] 자료구조 기초

Jueun Park 2020. 11. 19. 19:55

자료구조란?

자료구조는, 자료를 저장한 방식을 말한다.
예시 ) 배열, 리스트, 트리 등

자료구조와 알고리즘의 관계

방청소를 한다고 생각해보자.
목적 : 책을 높이가 낮은 것부터 순서대로 책꽂이에 정리하고 싶다.

    1. 만일 책이 여기저기 흩어져 있다면 먼저 책들을 한곳으로 모아야한다.
    1. 하지만 책이 책장에 잘 꽂혀있는 상태라면 크기가 큰 책을 골라서 계속 뒤로 꽂으면 된다.

같은 문제라도, 책이 어떻게 꽂혀있느냐에 따라 해결방법이 달라지는 것인데
이를 자료구조에 대입하면 아래 표1)처럼 생각할 수 있다.

표 1) 방청소를 자료구조에 대입해 생각해보기

비유 1번의 경우 2번의 경우
자료: 데이터
자료구조 : 데이터를 저장한 방식 어질러져 있음. 책장에 꽂혀있음.
문제를 해결하는 방식: 알고리즘 책을 모은다 -> 책의 키 별로 그룹을 나눈다 -> 꽂는다. 책장에 꽂힌 책중에 큰 책을 뒤로 보낸다(반복)

위의 비유를 통해, 자료구조(책이 저장된 방식)에 따라 알고리즘이 달라진다는 것을 알 수 있다.

##선형구조와 비선형구조

* 선형구조 : 자료를 나란히 저장한 자료구조

* 비선형구조 : 나란히 저장하지 않는 자료구조

표 2) 선형구조와 비선형구조의 예

션형구조 비선형구조
리스트 트리
스택 그래프
-
덱(별로 안 중요함) -

*내용을 퍼가실때는 출처 표기를 해주세요.(juepark@student.42seoul.kr)
*내용이 도움이 되었다면 공감을 눌러주세요