• 통큰쿠폰이벤트-통합

제5장 트리 - 리스트 표현방법

*문*
최초 등록일
2006.09.29
최종 저작일
2006.01
압축파일
가격 3,000원 할인쿠폰받기
다운로드
장바구니

소개글

2. [프로그래밍 프로젝트] 트리는 리스트 표현방법을 이용하여 표현하고 노드 구조는 다음과 같다고 가정한다.

tag = TRUE/FALSE | dlink / data | link

tag는 노드가 링크노드인 경우 TRUE의 값을 가지며, 노드가 데이터 노드인 경우는 FALSE의 값을 갖는 필드이다. 그림 5.53 은 예제 트리와 위의 노드 구조를 가지는 표현을 보이고 있다. 이 트리는 리스트로 다음과 같다.

A ( B ( E ( H , I ( J , K ) ), F ) , C ( G ) , D )

그림 5.53(b)와 같이 트리가 표현된다고 가정할 때 다음 함수를 작성하라.

(a) 리스트를 입력으로 받아 리스트에 해당하는 트리를 생성한다.
(b) 트리를 복사한다.
(c) 두 트리의 동일성을 검사한다.
(d) 트리를 삭제한다.
(e) 리스트 표현으로 트리를 출력한다.

1) 거의 line by line 으로 상세한 주석을 달아놨습니다.
2) e)의 출력은 level-order traversal로 출력 했습니다.

컴파일 실행환경

vc++ 6.0

본문내용

#include <stdio.h>
#include <string.h>
#include <ctype.h> // isspace를 쓰기 위해서.
#include <stdlib.h>

#define TRUE 1
#define FALSE 0

#define MAX_STACK_SIZE 128 // 최대 스택 사이즈
#define MAX_STRING 256 // 최대 문자열 길이
#define MAX_QUEUE_SIZE 128 // 최대 큐 사이즈

#define DLINK 1 // dlink 가 링크 일 경우
#define DATA 0 // dlink 가 데이터 일 경우

// data type , 스택이나 큐에 집어 넣는 데이터를 구분.
enum _data_type{ TYPE_CHAR , TYPE_PNODE };

// 사용자 정의 변수 및 구조체
typedef int bool;
typedef struct _NODE *PNODE; // 노드 포인터
typedef struct _NODE // 노드 구조체
{
// 해당 노드가 링크노드 일 경우 true , 데이터노드 일경우 false
int tag;
PNODE dlink; // 데이터 링크
PNODE link; // 링크
} NODE ;
//////////////////////////////////////////////////////////////////////////
// global Variable

char g_str_tree[MAX_STRING] = {0}; // 트리의 표현을 저장하는 전역 문자열

/************************************************************************
* Function Prototype Declare
*************************************************************************/
// Main Function
void printMenu ( void ); // 메뉴를 출력.
bool Menu_Create ( PNODE* pRoot);// 트리 생성
PNODE Menu_Copy ( PNODE pRoot); // 트리를 카피.
void Menu_Delete ( PNODE pRoot); // 트리를 삭제.
void Menu_Print ( PNODE pRoot); // 트리를 출력.

// 복제된 트리와 비교
void Menu_IsSame ( PNODE pRoot , PNODE pCopyRoot);

압축파일 내 파일목록

Problem_02_List_Tree/
Problem_02_List_Tree/Problem_02_List_Tree.dsp
Problem_02_List_Tree/Problem_02_List_Tree.dsw
Problem_02_List_Tree/Problem_02_List_Tree.ncb
Problem_02_List_Tree/Problem_02_List_Tree.opt
Problem_02_List_Tree/Problem_02_List_Tree.positions
Problem_02_List_Tree/tree.c

참고 자료

없음
*문*
판매자 유형Bronze개인

주의사항

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

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

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
제5장 트리 - 리스트 표현방법
  • 유니스터디 이벤트
AI 챗봇
2024년 09월 29일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
12:35 오전
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감