본문 바로가기

전자공학/자료구조(정보시스템프로그래밍)

(4)
ch7.2 Tree Traversal Algorithm 7.2 Tree Traversal Algorithms 이번 섹션에서는 Tree ADT의 함수를 통해 Tree에 접근하여 traversal computation을 수행하기 위한 알고리즘을 소개한다. 7.2.1 Depth and Height p를 tree T의 node라고 하자. depth : p 자신을 제외한 조상(ancestors)의 수 만약 p가 root이면 p의 depth는 0dlek. 그렇지 않으면 p의 depth는 p의 parent의 depth에 1을 더한 것과 같다. Root의 depth는 0. Depth는 root로부터 얼마나 깊이 있는 지 위 정의에 바탕을 두어, 프로그램 코드 6.3에서 제시된 **recursive algorithm 'depth(T, p)'**는 p의 parent에서 재귀적..
ch.7 Tree 자료구조 7.1 General Trees Tree : 비선형 자료구조의 하나 (Non-linear Data structure) tree를 사용하면 list, vector, sequence와 같은 linear data structure들을 사용할 때보다 더 빠른 알고리즘의 구현을 가능케 하기 때문이다. Definition of 'Tree' : 트리는 원소들을 계층적으로 저장하는 추상 데이터 타입(Abstract Data Type)이다. 트리는 또한 자료에 대해 자연스러운 조직을 제공하므로 결과적으로 파일 시스템, 그래픽 사용자 환경, 데이터베이스, 웹 사이트, 그리고 다른 컴퓨터 시스템 등에서 어디에나 존재하는 구조가 되었다. 생산성 전문가들이 말하는 비선형적인(non-linear) 생각이 무엇인지 항상 명확한 것..
9.1.1 The Map ADT; 맵의 추상 데이터 타입, 추상 자료형 이번 포스팅에서는 map의 ADT에 대해 살펴보겠습니다. ADT : Abstract Data Type 자세한 설명을 위해 위키피디아 링크를 참조하겠습니다. https://ko.wikipedia.org/wiki/%EC%B6%94%EC%83%81_%EC%9E%90%EB%A3%8C%ED%98%95 추상 자료형 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 추상적 자료형(Abstract Data Type, 줄여서 ADT)은 컴퓨터 과학에서 자료들과 그 자료들에 대한 연산들을 명기한 것이다. 추상적 자료형은 구현 방법을 명시하고 있지 않다는 점에서 자료 구조와 다르다. 비슷한 개념의 추상적 자료 구조는 각 연산의 시간 복잡도를 명기하고 있지만 추상적 자료형에서는 이것조차 명기하지 않는다. ..
9.1 Map : 맵과 맵의 엔트리, 자료구조 맵 맛보기 [ MAP ] Map : map은 key 를 이용하여 저장된 element(원소)를 빠르게 찾을 수 있도록 하는 자료구조입니다. - map은 entry라 불리는 key-value pairs (k,v)를 저장합니다. ( 키와 값으로 이루어진 쌍 (k,v)를 저장합니다.) - k는 key, v는 key에 상응하는 value. - map에 저장되는 key 와 value는 어떠한 object type도 가능합니다. ex) key: student ID (int) / value : 학생의 이름(string), 주소(string), 성적(char)과 같은 학생정보가 value가 될 수 있다. - key의 역할 map에서 그 key와 연관된 value object를 식별하는 unique(유일한) identifier. ..