Algorithm_ 자료구조와 알고리즘

Adela·2020년 11월 16일
0

ALGORITHM

목록 보기
2/4
post-thumbnail

자료구조?

자료구조 = 데이터 구조(Data Structure)

대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조

어떤 데이터 구조를 사용하느냐에 따라 코드 효율이 달라진다.
효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라 체계적으로 데이터를 구조화해야 한다.

현실 세계의 정보를 어떻게 프로그래밍 데이터로 변환해서 저장할지에 대한 방법

현실에서 자료(Data)를 구조화하는 예

  • 사전
  • 우편번호 : 5자리 우편번호로 대한민국의 기초구역을 제공한다.
    • 5자리 우편번호는 각 자리의 구성에 맞게 번호로 표기되어 시, 군, 자치구, 일련번호로 해당 장소를 나타낸다.
  • 학생 관리 : 학년, 반, 번호를 학생에게 부여해서, 학생부를 관리한다.
    • 학생마다 고유 번호를 부여하지 않으면, 1억 명의 학생 중 특정 한명을 찾을 경우 전체 학생들을 모두 훑어야 한다.

대표적인 자료구조

배열
Stack
Queue
Linked-List
Hash-Table
Heap
등등

알고리즘?

어떤 문제를 해결하기 위한 절차와 방법
어떤 문제에 대해, 특정한 INPUT을 넣으면, 기대하는 OUTPUT을 얻을 수 있도록 만드는 프로그래밍

현실세계의 가장 대표적인 알고리즘은? 레시피

자료구조와 알고리즘이 중요한 이유

알고리즘은 정답이 없다.

따라서 다양한 방법으로 같은 INPUT을 가지고 기대하는 OUTPUT을 낼 수 있다.
하지만 얼마의 시간이 걸리고, 얼마의 저장공간이 쓰이는지=> 효율 차이 발생

어떤 자료구조와 알고리즘을 쓰느냐에 따라 성능이 천지차이가 난다.

요즘은 빅데이터, 방대한 양의 데이터를 다루는 경우가 많기 때문에 알고리즘의 중요도가 점점 더 올라갈 것이라고 볼 수 있다고 한다.

대표적인 자료구조와 알고리즘은 알고있어야 성능을 고려한 효율적인 프로그래밍을 할 수 있고, 프로그래밍의 기술과 역량을 익힐 수 있는 방법이라고 할 수 있다.

profile
👩🏼‍💻 SWE (FE)

0개의 댓글