Data Structure

자료구조

Reife 2023. 2. 15. 13:54

자료구조는 자료에 효율적으로 접근하고, 수정할 수 있도록 자료를 조직하는 것을 의미한다.

자료구조는 데이터 값, 데이터 간 관계, 함수를 정의한다. 이를 통해 효율적인 알고리즘을 구성할 수 있다.

 

자료구조의 종류는 다양하지만 대부분의 자료구조는 결국 내부적으로 리스트연결리스트, 두 가지의 물리적인 자료구조로 구현되었다.

 

 

자료구조의 전체 분류

 

 

단순구조(Simple Structure)

컴퓨터가 기본적으로 제공하는 자료형으로 구성된 자료구조를 의미한다. 수, 문자/문자열, True/False와 같이 컴퓨터가 0과 1로 직접적으로 대응하여 해석할 수 있다. 이렇게 기본 자료형만으로 구성한 사용자 정의 자료형도 단순구조에 속한다. 배열, 구조체, 클래스가 이에 해당한다.

 

  • 배열: 동일한 자료형을 연속적으로 나열한 자료형
  • 구조체: 동일하거나 다른 자료형을 모은 자료형
  • 클래스: 구조체와 메소드로 구성된 자료형

 

 

선형구조(Linear Structure)

데이터가 일렬로 나열되어 저장된 형태이다. 구성 데이터가 물리적으로 연속적인 리스트와, 데이터끼리 물리적으로는 떨어져있지만 각각의 데이터가 이웃하는 데이터의 위치를 저장하여 논리적으로 연속성을 띄는 연결 리스트가 있다. 

리스트 또는 연결 리스트를 이용해서 구현한 스택, 큐, 데크도 이에 해당한다.

 

 

 

비선형구조(Non-Linear-Structure)

데이터가 계층 구조를 갖는 트리 형태로 저장된다. 선형구조에서 자료끼리 1:1의 관계를 갖는 것과 달리 비선형구조에서는 1:n의 관계를 가질 수 있다.

 

 

 

파일구조(File Structure)

데이터를 파일에 저장하는 방식을 정의한다.

 

 


References

그림으로 정리한 알고리즘과 자료구조 - 조민호 저