1장 자료구조/알고리즘[PYTHON]

나개발자.__.·2024년 1월 14일

DATA STRUCTURE/ALGORITHM

목록 보기
1/17
post-thumbnail

목차
1. 자료구조란?
2. 알고리즘이란?
3. 그림으로 이해하기
4. 느낀점


자료구조란?

자료구조는 컴퓨터 과학에서 데이터를 효율적으로 저장, 접근, 수정하기 위한 그릇이다.
코딩 문제를 풀 때 알고리즘 선택에 따라 어떤 자료구조를 사용할 것인지 판단해야 할 경우가 많다.
정말 많은 자료구조가 존재한다.

자료구조 종류

  • 리스트(배열)

  • .
    .
    .

알고리즘이란?

알고리즘은 어떤 문제가 주어졌을 때 효율적으로 풀 수 있는 "방법, 절차"이다.
코딩 문제를 풀 때 어떤 알고리즘을 선택하느냐에 따라 코드의 효율성은 천차만별이다.

알고리즘의 종류

  • 구간 합
  • 다익스트라
  • DFS(깊이 우선 탐색)
  • BFS(너비 우선 탐색)
    .
    .
    .

그림으로 이해하기

아래와 같이 어려워보이는 코딩 문제를 마주했다고 생각해보자.
무작정 코딩을 구현하려는 것보다 이 문제에 맞는 방법 즉, 풀만한 알고리즘을 생각해 내는 것이 효율적일 것이다. 알고리즘은 한 개만 존재할 수도 있고, 다양하게 존재 할 수도 있다. 혹은 혼합되어 풀어야 할 수도 있다.

이 문제는 아래와 같이 3가지 방법으로 풀린다고 가정하자.
이 때 3가지 방법이 '알고리즘'이라는 것이다.

그런데 각 알고리즘을 구현하는데 필요한 데이터를 저장, 접근, 수정하는 방법이 다채로울 수 있다.
이 때 아래 그림의 파란색 부분이 각 알고리즘을 구현하기에 필요한 데이터 접근 방법인 '자료구조'라는 것이다.
자료구조도 때에따라 다양하게 혼합되어 쓰일 수 있다.

느낀점

자료구조와 알고리즘이라는 완전 기초적인 내용을 정리해봤는데 개념적으로 더 잘 이해하게 된 것 같았다.

profile
나 개발자가 되고싶어..요

0개의 댓글