728x90
Data Structure(자료구조)
- 컴퓨터 과학에서 효율적인 접근 및 수정을 가능하게 하는 자료의 조직, 관리, 저장을 의미
- 데이터 값의 모임, 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미
- 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 함
- 효율적인 자료구조란 프로그램의 실행시간 효율과 저장공간 효율을 의미함
- 각 자료구조의 장단점을 숙지하고 상황별로 적합한 자료구조를 선택하는 능력이 중요
자료구조의 분류
https://wayhome25.github.io/cs/2017/04/17/cs-18/
- 단순구조 : 프로그래밍에서 사용되는 기본 데이터 타입
- 선형구조 : 저장되는 자료의 전후 관계가 1:1 인 구조 (리스트, 스택, 큐 등)
- 비선형구조: 데이터 항목 사이의 관계가 1:n 또는 m:n인 구조 (트리, 그래프 등)
- 파일구조 : 서로 관련된 필드들로 구성된 레코드의 집합인 파일에 대한 자료구조
Algorithm(알고리즘)
- 알고리즘이란 어떤 값을 입력으로 받아 원하는 값으로 출력하는 잘 정의된 절차를 말함
- 어떤 입력을 어떤 출력으로 변환하는 일련의 계산 과정이라 할 수 있음
자료구조와 알고리즘의 관계
- 자료구조를 구현하기 위해 알고리즘이 필요함
- 자료구조의 알고리즘 : 데이터를 저장하고 탐색하는 방법에 대한 방법들
- 자료구조를 이용한 알고리즘 : 자료구조를 활용하여 어떤 문제를 해결하는 것
References
https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0
https://wayhome25.github.io/cs/2017/04/17/cs-18/
https://blog.yena.io/studynote/2018/11/14/Algorithm-Basic.html
728x90
300x250