자료구조 공부/자료 구조 및 알고리즘 2019. 7. 12. 문재 해결을 위한 기본적 접근 방법 - 트리(Tree) 자료를 포함하고 있는 노드(node)와 노드들 간의 관계(edge)로 구성되며, 임의의 두 노드는 부모(parent)와 자식(child) 관계만을 갖는다. root node: 최상단의 부모 노드를 갖지 않는 노드 leaf node: 트리에서 자식 노드를 가지고 있지 않는 노드 Internal node: 루트 노드와 잎새 노드 제외한 나머지 노드 sibling node(형제 노드): 같은 부모를 가진 자식 노드 *트리의 특징 ① 트리는 계층적 자료를 표현하는데 적합한 자료 구조이다. ② 트리에서 자료의 저장은 노드에 한다. ③ 트리에서 부모가 없는 노드를 루트 노드라고 하고 자식이 없는 노드를 잎새 노드라고 한다. ④ 이진 탐색 트리는 한번의 경로 탐색으로 자료의 유무 및 원하는 자료를 검색할 수 있다. .. 공부/자료 구조 및 알고리즘 2019. 7. 6. 문재 해결을 위한 기본적 접근 방법 - 큐(Queue) 먼저 들어온 자료가 먼저 나가는 (First In First Out: FIFO) 특성을 가지는 자료 구조. 큐에 자료를 넣을 때에는 넣는 자료가 가장 뒤쪽에 놓이게 되고, 자료를 꺼낼 때에는 가장 앞쪽에 위치하고 있는 자료가 꺼내 진다. *큐(Queue) - FIFO구조 - enQueue 작업 절차 Queue에 자료를 넣을 공간이 없을 경우에는 자료 저장이 불가능하다. Queue에 자료를 넣을 공간이 있을 경우, Queue의 가장 뒤(back)에 자료를 넣는 작업과정이 진행된다. ① 큐에 자료를 넣을 공간이 있는지 확인한다. ② (큐에 공간이 있을 경우) 큐의 가장 뒤(back) 위치 번호를 1 증가시킨다. ③ (큐에 공간이 있을 경우) 큐의 back위치 번호 위치에 자료를 넣는다. *큐(Queue) -.. 공부/자료 구조 및 알고리즘 2019. 6. 27. 문재 해결을 위한 기본적 접근 방법 - 스택(Stack) 나중에 들어온 자료가 먼저 나오는 (Last In First Out: LIFO) 특성을 가지는 자료 구조. 스택에 자료를 넣을 때에는 넣고자 하는 자료가 항상 가장 위쪽에 놓이게 되고, 자료를 꺼낼 때에도 항상 가장 위쪽에 위치하고 있는 자료가 꺼내 진다. *스택(Stack)의 이해 *스택(Stack) - Push 절차 1) 스택에 자료를 넣을 공간이 있는지 확인하다. 2) (스택에 공간이 있을 경우) top위치 번호를 1증가시킨다. 3) (스택에 공간이 있을 경우) 스택의 top위치 번호 위치에 자료를 넣는다. *스택 – push 절차의 예 기능(function) : 스택의 최상단(top)에 자료를 넣음 입력(input) : 스택 s, 자료 x 출력(output) : 없음 push(s, x) begin.. 공부/자료 구조 및 알고리즘 2019. 6. 27. 문재 해결을 위한 기본적 접근 방법 - 배열(Array) 시작하기 앞서 따로 이야기 하지 않고 자료구조 및 알고리즘 개시된 개시물의 예제와 알고리즘은 Computational Thinking & 창의적 문제해결 방법론이라는 책을 참고했음을 알림니다. 최적화 문제(Optimization problem): 가능한 여러 가지 해들로부터 최적의 해를 찾아 내는 문제 로서 대표적인 예로는 배낭 문제(knapsack problem)를 들 수 있다. 정보과학적 문제 해결 절차 및 문제 해결 방법 문제 이해 및 분석 → 정보 과학의 원리 적용 문제 해결 → 방법 설계-알고리즘 설계 문제 해결 방법 구현-알고리즘 구현 → 결과 검토 ex) 다음의 인사 자료를 토대로 영업부에서 가장 많은 연봉을 받는 사원의 사원번호, 이름, 연봉을 찾아라. 자료의 구조화 자료의 구조화: 정보 .. 이전 1 다음