a. Problem Analysisb. Requrements Elicitation (요구 조건 도출)c. Software Specificationd. High-and-low-level Desinge. Implementation (구현)f. Testing and Veri
사람이나 기계가 분석할 수 있게 information을 표현해 놓은 것Daca Abstraction: 실제 데이터는 매우 복잡하기 때문에 추상화 필요Logical: Data의 범위, Data가 가능한 연산Implimentation: Data type이 프로그램에서 실제
List: Data Element 사이에 Linear Relationship을 가지는 경우Linear Relationship첫 번째 요소를 제외한 각 요소에는 고유한 선행 요소 존재마지막 요소를 제외한 각 요소에는 고유한 후속 요소 존재Length: List 안에 있는
Data Type마다 Class Type을 다르게 설정하는 게 번거로움컴파일러가 자동으로 Multuple Versions of Class Type 생성해 주도록 하는 것Formal Parameter: 모양을 잡아 주는 역할ex) template<class Item
.info: 실제 사용자의 데이터.next: 다음 노드를 가리키는 포인터node: 데이터 구조 중 한 요소특정 노드 관점에서 보면 자신의 뒷 요소밖에 모름사용자가 변수를 선언하는 시점에도 몇 개가 필요한지 모를 때 사용새 요소를 만들 때마다 heap 공간에 new Op
Stack 문제 수식을 표현하는 데 연산자 우선 순위가 없다고 가정하자. 예를 들어, 연산자 우선 순위가 없으므로 "3 + 4 \* 2 = 7 \* 2 = 14"가 된다. 연산자 우선 순위가 없는 infix 수식을 postfix 수식으로 변환하는 프로그램을 작성하고자
호출하는 주체와 호출하는 객체가 서로 같은 것Direct Recursion: 함수 f에서 함수 f 직접 호출Indirect Recursion: 함수 f에서 실행되는 함수 g에서 함수 f 간접 호출Recursive Call과 Loop는 서로 호환 가능하다Recursive
cicly이 없는 관계계층적인 구조Root Node: 제일 위에 있는 노드, 부모 노드가 없는 노드Leaf Node: 제일 아래 있는 노드, 자식 노드가 없는 노드tree의 단계를 내려갈 때마다 level 증가tree의 일부분을 잘라내도 subtree 형성실제 자료 구
Queue의 item들 사이에 우선 순위가 존재하는 것ex1) item 값이 클수록 우선 순위가 높다ex2) item 값이 작을수록 우선 순위가 높다높은 우선 순위를 가진 요소가 언제라도 접근 가능한 위치에 존재하는 QueueDequeue를 실행했을 때 우선 순위가 높
비교 가능한 element끼리 정렬ascending: 오름차순descending: 내림차순비교 대상인 key 값은 비교 가능하고 unique해야 함배열을 정렬된 부분과 정렬되지 않은 부분으로 나눔정렬되지 않은 부분에서 가장 작은 애랑 자리 Swap바꾼 자리 다음부터 위