자료구조란(Data Structure)?

전성영·2022년 4월 19일
0

저는 알고리즘을 풀 때 c++을 사용하기때문에 자료구조 문법은 C++ 기준으로 하겠습니다!

JAVA랑 조금 달라서,, c++짱
ex) JAVA의 stack의 상단값 출력은 .peek() 이지만 c++은 .top()이다

자료구조란(Data Structure)?

자료구조는 데이터의 표현과 저장 방법을 의미.

선택기준

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

자료구조의 목적

데이터를 효율적으로 저장 관리하여 메모리를 효율적으로 사용하기 위함이다.
메모리의 용량과 실행시간을 단축시켜준다.

자료구조의 특징

  • 효율성
    자료구조를 사용하는 목적은 효율적인 데이터의 관리 및 사용이다.
    따라서 문제에 알맞은 자료구조를 사용하면 업무 효율이 증가할 것이다.

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

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

선형구조

  • 자료를 구성하는 데이터들이 직선 형태로 순차적으로 나열되어있는 구조
  • 전, 후 데이터들 간에 1:1 관계

비선형 구조

  • 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 구조
  • 전, 후 데이터들 간에 1:N관계
profile
Slow and Steady

0개의 댓글