자료구조 (DataStructure) - 프로그래밍에서 데이터를 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미 - 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미 선형구조 : 자료 간 관계가 1 대 1인 구조 (배열, 연결리스트, 스택, 큐, 덱) 비선형구조 : 자료 간 관계가 1 대 다 혹은 다 대 다인 구조 (트리, 그래프) - 컴퓨터에서 알고리즘과 자료구조의 평가는 시간과 공간 두 자원을 얼마나 소모하는지가 효율성의 중점 - 평균적인 상황에서와 최악의 상황에서 자원 소모량이 기준이 됨 - 일반적으로 시간을 위해 공간이 희생되는 경우가 많음 - 시간복잡도 : 알고리즘의 시간적 자원 소모량 - 공간복잡도 : 알고리즘의 공간적 자..