数据结构实训报告_第1页
数据结构实训报告_第2页
数据结构实训报告_第3页
数据结构实训报告_第4页
数据结构实训报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、树与二叉树的转考核项考核内得(20)(20树与二叉树的转考核项考核内得(20)(20)(15分)回答老师针对课程设问课程设撰(10)(5)总 指导日期目录1课程设计目标与任课程设计目课程设计目课程设计要目录1课程设计目标与任课程设计目课程设计目课程设计要2分析与设题目需求分结构设算法分程序流程3程4测分5总参考文11.11.2(1)(3)(4)1.3(1)11.11.2(1)(3)(4)1.3(1)(2)22.1继。它可采用顺结构和链1.2.2.22.:22.1继。它可采用顺结构和链1.2.2.22.:3.(1)3.(1)4.(1) 加线:若pp孩子沿分支找到的所有右孩子,都与p(2)(3)2

2、.2.62.3typedef struct st1/char data;/charstruct st1 *childrenDEGREE;/typedef struct char data;/2.3typedef struct st1/char data;/charstruct st1 *childrenDEGREE;/typedef struct char data;/struct st2 *lchild,*rchild;/2.3.12.typedef struct CTreeNode*CTreeArrayMAX_NODE_NUM;/struct nodeCTree 3.typedef str

3、uct BTreeNode*BTreeArrayMAX_NODE_NUM;/struct nodeBTree 4.addQueueCTree(QueueCTree *&q,CTreeNode if(q-CTreeRear+1)%MAX_NODE_NUM=q-CTreeFront)/typedef struct CTreeNode*CTreeArrayMAX_NODE_NUM;/struct nodeCTree 3.typedef struct BTreeNode*BTreeArrayMAX_NODE_NUM;/struct nodeBTree 4.addQueueCTree(QueueCTre

4、e *&q,CTreeNode if(q-CTreeRear+1)%MAX_NODE_NUM=q-CTreeFront)/return q-CTreeRear=(q-q-CTreeArrayq-return 1;/5.addQueueBTree(QueueBTree *&q,BTreeNode if(q-BTreeRear+1)%MAX_NODE_NUM=q-BTreeFront)/return q-BTreeRear=(q-q-BTreeArrayq-return 1;/6.CTreeNode *delQueueCTree(QueueCTree CTreeNode if(q-CTreeFro

5、nt=q-CTreeRear)/return NULL;/q-CTreeFront=(q-ctroot=q-CTreeArrayq-if(q-BTreeRear+1)%MAX_NODE_NUM=q-BTreeFront)/return q-BTreeRear=(q-q-BTreeArrayq-return 1;/6.CTreeNode *delQueueCTree(QueueCTree CTreeNode if(q-CTreeFront=q-CTreeRear)/return NULL;/q-CTreeFront=(q-ctroot=q-CTreeArrayq-return ctroot;/7

6、.BTreeNode *delQueueBTree(QueueBTree BTreeNode if(q-BTreeFront=q-BTreeRear)/return NULL;/q-BTreeFront=(q-btroot=q-BTreeArrayq-return btroot;/2.42.43using #defineDEGREE53using #defineDEGREE5 #define NULL 0#define QUEUESIZE#defineMAX_NODE_NUMtypedefstructst1/树结点的类chardata;/数据域,采用charstructst1*children

7、DEGREEtypedefstructst2chardatastructst2*lchild,*rchild;/CTreeNode*SearchCTree(CTreeNode*root ,charCTreeNode*returnNode; returnreturn NULL;returnCTreeNodechardata, CTreeNode*root,*parentNode,*node; returnchardata, CTreeNode*root,*parentNode,*node; returnNULL;/空树,结束函数 root=(CTreeNode*)malloc(sizeof(CT

8、reeNode); node=(CTreeNode*)malloc(sizeof(CTreeNode); returnvoidpreorderTree(CTreeNode*ctroot)/遍历每个节点的操作就是输出该结点的dataCTreeNode*ctchild; coutdata ;/先遍历根结点 coutdata ;/先遍历根结点 typedefstructnodeCTree /structnodeCTree*next; typedefstructnodeBTree /structnodeBTreevoidinitQueueCTree(QueueCTreeq=(QueueCTree*)m

9、alloc(sizeof(QueueCTree); voidinitQueueBTree(QueueBTreeq=(QueueBTree*)malloc(sizeof(QueueBTree); addQueueCTree(QueueCTree*&q,CTreeNodereturn 0;returnaddQueueCTree(QueueCTree*&q,CTreeNodereturn 0;return1;/入队addQueueBTree(QueueBTree*&q,BTreeNodereturn 0;return1;/入队QueueCTreeEmpty(QueueCTree*q)QueueBTr

10、eeEmpty(QueueBTree*q)CTreeNode*delQueueCTree(QueueCTreeCTreeNodereturn NULL;/返回空指针returnctroot;/返回结BTreeNode*delQueueBTree(QueueBTreeBTreeNodereturn NULL;/返回空指针returnbtroot;/返回BTreeNode*delQueueBTree(QueueBTreeBTreeNodereturn NULL;/返回空指针returnbtroot;/返回节voidTreeToBTree(CTreeNode*ctroot,BTreeNode*&btroot)/树转化为二叉树ctroot指向树的根结点, QueueCTree *VisitedCTreeNodes; QueueBTree*VisitedBTreeNodes;/辅助队列 CTreeNode *ctnode;BTreeNode*btnode,*p,*LastSibling; 完 voidPreorder(BTreeNode coutdata ; CTreeNode *Tree; BTreeNode *BTree; return47,树根结点的数据a,ba,ca,da,eb,fc,gc,4.1.147,树根结点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论