자료구조 개요

GonnabeAlright·2021년 11월 23일
0
post-thumbnail

자료구조(Data Structure)란 무엇인가 ?

  • 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것이라고 한다.

자료구조의 선택 기준

  • 자료의 처리 시간
  • 자료의 크기
  • 자료의 활용 빈도
  • 자료의 갱신 정도
  • 프로그램의 용이성

자료구조의 특징

1. 효율성

  • 자료구조를 사용하는 목적은 효율적인 데이터의 관리 및 사용이다. 따라서 적절한 자료구조를 선택하여 사용한다면 업무의 효율이 올라갈 것이다. 한가지 예를 들어보자면 검색에 대한 알고리즘을 구현할 때, 데이터의 양이 많다면 순차 검색(Linear Search)를 사용하는 것보다 이분 검색(Binary Search)를 활용하는 것이 더 효율적일 것이다. 왜냐하면 학생이라는 테이블에 학생에 대한 데이터가 100만개 있다고 할 때, 순차 검색으로 데이터를 검색하게 되면 운이 좋을 때는 1번의 연산으로 찾을 수 있겠지만, 운이 없을 경우에는 100만번의 연산을 거쳐야 할 것이다. 이에 반해 이분 검색은 연산의 횟수가 훨씬 줄어든다. 이와 같이 목적에 맞는 자료구조를 사용하는 것이 효울적이다.

2. 추상화

  • 추상화란 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념만 간추려 내는 것이다. 자료구조를 구현할 때 중요한 것은 어느 시점에 데이터를 삽입할 것이며, 어느 시점에 이러한 데이터를 어떻게 사용할 것인지에 대해서 초점을 맞출 수 있기 때문에 구현 외적인 부분에 더 시간을 쏟을 수 있다. 알고리즘 자체에는 중점을 두지 않는다.
    마찬가지로 자료구조 내부의 구현은 중요하지 않습니다. 어떻게 구현했는지 보다 어떻게 사용해야 하는지를 알고 있어야 한다.

3. 재사용성

  • 자료구조를 설계할 때 특정 프로그램에서만 동작하게 설계하지는 않습니다. 다양한 프로그램에서 동작할 수 있도록 범용성 있게 설계하기 때문에 해당 프로젝트가 아닌 다른 프로젝트에서도 사용할 수 있습니다.

선형 자료구조 (Linear)

  • 선형 자료구조란 하나의 자료 뒤에 하나의 자료가 존재하는 것이다.
  • 자료들 간의 앞뒤 관계가 1:1의 선형관계
  • 배열과 리스트가 대표작이고 더 나아가서 스택, 큐도 이에 해당된다.

비선형 자료구조 (NonLinear)

  • 비선형 자료구조란 하나의 자료 뒤에 여러 개의 자료가 존재할 수 있는 것이다.
  • 자료들 간의 앞뒤 관계가 1:n 또는 n:n의 관계
  • 트리와 그래프가 대표적이며 계층적 구조를 나타내기에 적절하다.

0개의 댓글