about front-end

[자료구조] 개요

더 멋진 세상을 꿈꾸는 개발자 2020. 7. 6. 14:30

1. What is Data Structure?


- 자료구조란 데이터에 편리하게 접근하고 조작하기 위한 데이터를 저장하거나 조직하는 방법이다. 

- 자료 구조의 종류에 따라 각각 갖는 장점과 한계를 잘 이해하고 상황에 맞게 선택하고 사용하는 것이 중요하다.

- 자료구조는 언어별로 지원하는 양상이 다르다. (자바스크립트, 파이선..)

- 언어별로 지원하는 자료구조의 양상이 다르더라도 개념을 올바르게 이해한다면 해당 언어에 맞추어서 사용하면 되니, 

각 자료구조의 본질과 컨셉을 이해하고 상황에 맞는 적절한 자료구조를 선택하는 것이 중요하다.

 

 

 

2. Why Data Structure?


- 여자들이 화장품을 담기에 효율적인 것은 캐리어일까? 백팩일까? 파우치일까?

- 캐리어는 정말 좋은 도구이지만, 화장품을 담기 위해 캐리어를 사용하는 것은 큰 수고를 불러온다. 

- 이처럼 데이터에 맞는 적절한 자료구조를 사용하는 것은 전체 개발 시스템에 굉장히 큰 영향을 끼친다.

 

 

"코딩은 알고리즘과 자료구조, 이 두가지로 이루어진다."
-리누스 토르발스

 

 

3. 자료 구조의 분류


 

  • Primitive Data Structure (단순 구조)

        : 프로그래밍에서 사용되는 기본 데이터 타입

 

  •  None-Primitive Data Structure (비단순 구조)

        : 단순한 데이터를 저장하는 구조가 아니라 여러 데이터를 목적에 맞게 효과적으로 저장하는 자료구조

 

        * LInear Data Structure (선형 구조)

          : 저장되는 자료의 전후 관계가 1:1 ( ex. List, Stacks, Queues)

 

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

          : 데이터 항목 사이의 관계까 1:n 또는 n : m (ex. Graphs, Trees)

    

 

4. 일반적으로 가장 자주 사용 되는 자료 구조


  • Array(Python에서는 List)
  • Tuple
  • Set
  • Dictionary
  • Stack & Queue
  • Tree