[자료구조] Data Structure 왜 공부하는 걸까?

김엄지·2024년 5월 21일

자료구조

목록 보기
1/6

자료구조와 알고리즘은 프로그램과 밀접하게 연관되어 있다. 프로그램은 특정 작업을 수행하거나 문제를 해결하기 위해 작성된 코드의 집합이다. 이 과정에서 데이터를 효율적으로 저장하고 관리하는 방법이 자료구조이고, 문제를 해결하기 위한 절차나 방법이 알고리즘이다.

자료 구조 왜 공부하는 걸까?

내가 무언가를 구현을 할 때, 데이터를

  • 어떤 형태로 저장할 것인지
  • 어떤 형태로 읽어 올 것인지

에 따라서 우리의 서비스가 빨리질 수도, 느려질 수도 있기 때문에 어떤 작업에 어떤 자료구조를 쓰는지 아는 것이 중요하다.

자료 구조마다 방법들이 달라서

  • 어떤 비즈니스 로직이 필요한 지에 따라
  • 데이터 인풋 사이즈가 어느 정도인 지에 따라
  • 데이터의 양, 연산 속도에 따라서

알맞은 자료주고를 선택하고 알고리즘을 응용하는 것이 필요하기 때문이다.

어느 정도까지 공부해야 할까?

백지와 펜을 주고 스택, 큐 만들어봐 했을 때, 기본 구현은 할 수 있고, 개념 설명 할 줄 알아야한다. 파이팅이다 ! 🔥

공부를 통해서

  • 자료 구조 기반으로 알고리즘, 리팩토링이나 코드의 성능, 효율 개선 접근하기 수월해진다.
  • 새로운 개발툴이나 프레임워크이 매번 나와도 자료구조, 알고리즘을 내부적으로 사용하기에 기술들을 습득하고 사용할 때 이해도를 높일 수 있다.

공부 순서가 있을까?

공부의 순서는 없지만, 보편적인 순서로 보자면, 다음과 같다.

  • 배열
  • 연결 리스트
  • 스택 & 큐
  • 해시맵
  • 트리
  • 그래프

자료 구조 공부 방법

  1. 이론 학습
    1. 개념 특징 조사 공부
  2. 구현 학습
    1. 실질적인 구현(자료구조마다 순회, 삽입, 삭제)
  3. 예제 문제 풀이

형태에 따른 분류

저장되는 데이터의 형태에 따라 선형 구조와 비선형 구조로 분류할 수 있다.

선형 자료 구조

자료를 구성하는 데이터를 순차적으로 나열시킨 구조

  • 배열
  • 연결 리스트
  • 스택

비선형 자료 구조

하나의 자료 뒤에 여러 개의 자료가 존재하는 구조

  • 트리
  • 그래프

마무리

자료구조 공부해서 코딩테스트 문제들 쓕쓕 풀고, 코드 최적화, 성능 개선까지 할 수 있는 개발자가 되기 위해서 자~ 가보자고~


참고자료

profile
나만의 무언가를 가진 프로그래머가 되자

0개의 댓글