응용프로그램에서 동작성능 & 안정성 확보를 위해 적절한 data stacture를 선택하는 것이 매우 중요하다.이번 장에서는 linear data structures를 소개하고 있다.자료구조를 잘 이해하고 있으면, 성능 향상, 표준화, 가독성, 유지 보수 등의 관점에서
조직도가 예시다.조직도와 같은 데이터는 배열, 벡터, 연결 리스트 같은 자료 구조로는 표현하기 어렵다.또한, 대학 교과 과정 계층도를 검색해서 봤을 때, 다른 과목을 들으려면 미리 선수강해야하는 경우들이 있는데, 이러한 것을 표현하기에도 연속, 연결 자료 구조로는 표현
Lookup : 조회특정 원소가 컨테이너에 있는지 확인하거나 특정 키에 해당하는 값을 찾는 작업을 의미한다.사전에서 단어의 뜻을 찾는 다거나 특정 시설 출입 허가된 사람인지 체크 시 흔히 접할 수 있는 문제다.조회를 매우 빠르기 수행할 수 있는 효과적인 알고리즘에 대해
계산 문제를 해결하기 위해 데이터를 변환하는 방법도 프로그램 유용성 결정에 중요한 요소다. 주어진 문제가 있을 때, 데이터에 대한 정확한 정의와 변환 순서는 일련의 명령에 의해 결정되며 이를 알고리즘이라고 한다.Linear search : 시퀀스 전체 원소를 방문하면서
주어진 문제의 규모가 너무 크다면 작은 부분 문제로 나눠 해결하는 방식부분 문제로 나누는 작업을 반복해 해답을 찾고 다시 그 해답을 합쳐 처음 문제에 대한 해답을 유도한다.분할 : 주어진 문제를 동일한 방식으로 해결할 수 있는 여러 부분문제로 나눈다.정복 : 각 부분
가장 좋아보이는 해답을 선택하는 알고리즘shortest- job- first scheduling