• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

C언어로 구현한 Threaded Binary Tree

*어*
개인인증판매자스토어
최초 등록일
2021.03.15
최종 저작일
2020.04
11페이지/파일확장자 어도비 PDF
가격 1,000원 할인쿠폰받기
다운로드
장바구니

목차

1. 과제 목표
2. 설계
3. 결과 보고
4. 자료구조 및 알고리즘 분석
5. 구현한 자료구조 및 알고리즘의 시간 및 공간 복잡도
6. 전체 코드

본문내용

1. 과제 목표
- Threaded binary tree가 주어졌을 때, 명시된 node의 오른쪽에 새로운 node를 삽입하는 함수를 구현하라. 노드의 삽입이 완료된 threaded binary tree는 inorder traversal를 사용하여 threaded binary tree가 잘 구성되어 있는지 확인한다.

2. 설계
- 이번 과제는 이진 트리의 종류 중 하나인 스레드 이진 트리 구조를 Linked Representation으로 구현하고, 주어진 대로 노드를 구성한 후, 미리 작성된 노드 추가 함수의 나머지 부분을 채워 코드를 작성하는 내용이었습니다. 원래 이진 트리의 노드 타입을 선언할 때 필요한 필드는 각각 왼쪽과 오른쪽 자식으로의 링크, 그리고 데이터 필드입니다. 하지만 한 가지 비효율적인 점은, 메모리 상에 존재하는 이진 트리의 노드들 중에서 리프 노드의 경우는 양쪽 자식 링크를 전혀 사용하지 못한 채로 존재한다는 점입니다. 따라서 이러한 리프 노드의 비 할당 링크를 각각 해당 노드의 중위 순회의 선행자, 후속자로 연결하면 활용도를 높일 수 있지 않을까 하는 것이 스레드 이진 트리의 개념입니다.
- 본 과제에서는 강의 및 강의 교재에서 스레드 이진 트리에 대해 정의한 형태대로 구현을 따라갔으며, 강의 내용에는 나오지 않았지만 프로그램 종료 직전 사용한 메모리를 순회하며 해제하는 함수까지 구현하였습니다.

3. 결과 보고
- 과제 요구사항에 나온 노드들을 구현하였는데 디버깅 중에 construct_tree() 함수가 끝난 직후와 모든 노드의 추가가 끝난 직후 두 시점에서 tinorder() 함수의 출력값을 캡쳐하였습니다.

4. 자료구조 및 알고리즘 분석
가장 먼저 정의한 스레드 이진 트리를 구성할 노드 타입의 선업입니다. 각각 왼쪽 자식 링크와 오른쪽 자식 링크 외에 스레드 여부를 가리키는 Boolean 형태의 값을 더 가지고 있는데, 스레드 기능으로 링크가 작동할 시 해당 방향의 링크는 자식 링크의 포인터를 그대로 사용

참고 자료

없음

자료후기(1)

*어*
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
C언어로 구현한 Threaded Binary Tree
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업