자료들을 정리하여 보관하는 여러 가지 구조들.
ex.
접시처럼 자료들을 쌓아서 정리하면 "스택"
마트 계산대 처럼 선입선출의 형태로 정리하면 "큐"
프로그램 = 자료구조 + 알고리즘
대부분의 프로그램에서 자료 구조를 사용하여 자료를 저장하고,
그 자료들은 알고리즘을 통해 문제를 처리하는데 이용되기 때문이다.
자료구조가 결정되면 그 자료구조에 사용할 수 있는 알고리즘은 정해져 있다.
n명의 학생들 중 최고 성적을 구하는 프로그램
자료구조 : 학생들의 성적이 담긴 배열 score[]
알고리즘 : score[0]을 largest로 두어 나머지와 비교하여 largest 찾기
1단계. Problem Solving
문제 해결 방법으로 보통 프로그래밍 스타일이나 언어와는 무관하다.
2단계. Algorithm
컴퓨터로 문제를 풀기 위한 단계적인 절차를 장치가 이해할 수 있는 언어로 기술하는 것.
특정한 일을 수행하는 명령어들의 집합이라고도 할 수 있다.
약간의 모호성이 존재하여 명령어로 사용되는 단어들의 명백한 정의가 요구됨.
도형을 사용하여 기술. 알고리즘이 복잡해 질수록 기술이 힘들어짐.
모든 예약어들이 명백한 의미를 갖고 있음.
//의사 코드와 프로그래밍언어가 가장 많이 쓰인다.