자료구조 - 트리 요약 및 소스 분석, 코드 개선 과제
- 최초 등록일
- 2020.09.01
- 최종 저작일
- 2020.06
- 10페이지/ 한컴오피스
- 가격 1,500원
소개글
자료구조 강의의 8주차 강의인 트리에 대한 분석 및 프로그램 소스 분석(역코딩), 코드개선(순코딩), 디버깅을 담은 레포트
목차
1. 8장 트리 요점정리 (수업시간 요점 정리 내용)
2. 분석&설계(역공학) - 디버깅내용(손분석, 화면캡쳐)
3. 구현&개선(순공학) - 개선코드(구현된 코드를 개선한 코드를 구현하고 주석달기)
본문내용
1-1 8장 트리 요점정리 (수업시간 요점 정리 내용)
1. 트리
1.1. 계층적인 구조를 나타내는 자료구조(비선형 자료구조)
1.2. 부모-자식 관계의 노드들로 구성
2. 트리의 응용분야
2.1. 계층적인 조직 표현
2.2. 컴퓨터 디스크의 디렉토리 구조
2.3. 인공지능에서의 결정트리
3. 트리의 용어
3.1. 노드 : 트리의 구성요소
3.2. 루트 : 부모가 없는 노드
3.3. 서브트리 : 하나의 노드와 그 노드들의 자손들로 이루어진 트리
3.4. 단말노드 : 자식이 없는 노드
3.5. 비단말노드 : 적어도 하나의 자식을 가지는 노드
3.6. 자식, 부모, 형제, 조상, 자손 노드 : 인간과 동일
3.7. 레벨 : 트리의 각층의 번호
3.8. 높이 : 트리의 최대레벨
3.9. 차수 ; 노드가 가지고 있는 노드의 개수
4. 이진트리
4.1. 모든 노드가 2개의 서브 트리를 가지고 있는 트리
4.2. 노드에는 최대 2개까지의 자식 노드가 존재
4.3. 모든 노드의 차수가 2 이하가 된다-> 구현하기가 편함
4.4. 서브 트리간의 순서가 존재
4.5. 인공지능에서의 결정트리
4.6. 포화 이진 트리, 완전 이진 트리, 기타 이진 트리 존재
5. 수식트리
5.1. 산술식을 트리형태로 표현한 것(비단말노드 : 연산자, 단말노드 : 피연산자)
5.2. 후위순위를 사용
5.3. 서브트리의 값을 순환 호출로 계산
5.4. 비단말노드를 방문할 때 양쪽 서브트리의 값을 노드에 저장된 연산자를 이용하여 계산
1-2 분석&설계(역공학) - 디버깅내용(손분석, 화면캡쳐)
1. 분석내용 1
1.1. tree1.c
#TreeNode 구조체 선언
-> 링크는 포인터로 표현함
#main
-> n1, n2, n3 구조체 포인터 선언
-> n1, n2, n3에 4byte 동적할당
-> 첫 번째 노드 설정
-> n1, n2, n3 링크
-> 두 번째, 세 번째 노드 설정
참고 자료
없음