프로그램 = 자료구조 + 알고리즘 자료구조(data structure) 프로그램에서 자료를 정리하여 보관하는 구조(배열, 스택, 큐...) 알고리즘(algorithm) 컴퓨터로 문제를 해결하기 위한 단계적인 절차 문제와 컴퓨터가 주어진 상태에서 문제를 해결하는 방법을 장치가 이해할 수 있는 언어로 기술한 것 특정한 일을 수행하는 명령어들의 집합 알고리즘의 조건 입력 : 0개 이상의 입력이 존재해야 한다 출력 : 1개 이상의 출력이 존재해야 한다 명백성 : 각 명령어의 의미는 모호하지 않고 명확해야 한다 유한성 : 한정된 수의 단계 후에는 반드시 종료되어야 한다 유효성 : 각 명령어들은 실행 가능한(프로그래밍 언어로 바꿀수 있는) 연산이어야 한다. 자료형 : 데이터 + 데이터 간에 가능한 연산 추상 자료형..