●Data Structure (자료 구조)
▷문제 해결을 위해 데이터를 조직해서 표현하는 방법.
▷Linear data structure: Array, Stack, Quene, Linked-List
▷Non-linear data structure: Graphs, Trees
○Altorithm (알고리즘)
▷문제 해결을 위해 특정한 일을 수행하는 명령어들의 집합
▶조건
▷Input(입력): 외부에서 공급된 입력 (0이상?)
▷Output(출력): 최소 하나의 출력
▷Defiteness(명확성): 각 명령어가 명확함
▷Finiteness(유한성): 언젠가는 종료함
▷Effectiveness(유효성): 컴퓨터가 실행 가능해야함
▷표현 방법: 자연어, Flow Chart Pseudo Code, Programming language...
▶복잡도 분석
▷연산 횟수 -> Big-O (최악의 경우) 자주 사용
※Abstract Data Type (ADT)
▷데이터 구조의 추상화
▷무슨 일을 하는지는 지정하지만, 어떻게 하는지는 지정하지 않는 데이터 타입.
▶정보
▷저장된 데이터
▷연산/명령 (메서드?)
▷연산에 대한 에러