코딩고치

[파이썬][자료구조] 자료구조와 알고리즘 본문

파이썬/자료구조

[파이썬][자료구조] 자료구조와 알고리즘

코딩고치 2020. 4. 12. 14:32

자료구조

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

효율적으로 데이터를 관리하기 위해서는 데이터 특성에 맞게 데이터를 구조화해야 한다.

자료구조에 따라서 코드의 효율이 달라진다.

 

※ 대표적인 자료구조

배열, 스택, 큐, 링크드 리스트, 해쉬 테이블, 힙 등

 

이미 널리 쓰이고 있는 자료구조를 익히고 새로운 자료구조를 만들 수 있는 역량을 키워야 한다. 또한 알고리즘에도 쓰이기 때문에 중요하다.

기술면접에도 물어볼 수 있다고 한다.

 

알고리즘

어떤 문제를 풀기 위한 절차/방법.

어떤 문제에 대해, 특정한 입력을 넣으면 원하는 출력을 얻을 수 있도록 만드는 프로그래밍 하는 것이다.

 

어떤 문제를 푸는데 사실상 정답은 없고 사람마다 다르다.

좋은 알고리즘인지 평가하는 것은 얼마의 시간이 걸리느냐, 얼마의 저장 공간을 활용하느냐를 주요 요소로 본다.

최소한 어느 정도의 시간이 걸리는지는 계산할 수 있어야 한다.

 

어떤 자료구조와 알고리즘을 쓰느냐에 따라 성능이 천지차이기 때문에 공부를 잘해두어야 한다.

Comments