第十周——项目一(1)(2)
来源:互联网 发布:ai软件描边 编辑:程序博客网 时间:2024/06/14 13:57
/*烟台大学计算机学院 文件名称:btree 作者:董玉祥 完成日期: 2017 11 12 问题描述:(1)层次遍历算法的验证 (2)二叉树构造算法的验证 */(1)层次遍历算法的验证:#include "stdio.h"#include "btree.h"#include "malloc.h"void LevelOrder(BTNode *b) //层次遍历{ BTNode *qu[MaxSize]; int rear,front; rear=front=-1; rear++; qu[rear]=b; while(rear!=front) { front=(front+1)%MaxSize; printf("%c ",qu[front]->data); if(qu[front]->lchild!=NULL) { rear=(rear+1)%MaxSize; qu[rear]=qu[front]->lchild; } if(qu[front]->rchild!=NULL) { rear=(rear+1)%MaxSize; qu[rear]=qu[front]->rchild; } }}int main(){ BTNode *b; CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); printf("二叉树b: "); DispBTNode(b); printf("\n"); printf("层次遍历序列:\n"); LevelOrder(b); DestroyBTNode(b); return 0;}(2)二叉树构造算法的验证:BTNode *CreateBTNode1(char *pre,char *in,int n)//二叉树构造性算法{ BTNode *s;char *p; if(n<=0) return NULL; s=(BTNode*)malloc(sizeof(BTNode)); char ch;int k; s->data=*pre; for(p=in;p<in+n;p++) if(*p==*pre) break; k=p-in; s->lchild=CreateBTNode1(pre+1,in,k); s->rchild=CreateBTNode1(pre+k+1,p+1,n-k-1); return s;}int main(){ ElemType pre[]="ABDGCEF",in[]="DGBAECF"; BTNode *b1; b1=CreateBTNode1(pre,in,7); printf("b1:"); DispBTNode(b1); printf("\n"); return 0;}
运行结果截图:
(1)
(2)
阅读全文
0 0
- 第十周——项目一(1)(2)
- 第十周项目一——拓展项目(二)
- 第十周项目一(2)
- 第十周项目一(1)
- 第十周——项目一(4)—哈夫曼树
- 数据结构第十周项目(一)——验证算法
- 第十一周项目一——验证算法(2)
- 第十四周课后作业——项目一(2)
- 第十一周项目一——函数星号(1)
- 第十一周项目一——验证算法(1)
- 第十四周课后作业——项目一(1)
- 第十周 项目一:项目填充与阅读(2)
- 第十周——项目一(2)—二叉树的构造
- 第十周——项目一(2)—二叉树的构造
- 第十周——项目一(1)—二叉树的层次遍历算法
- 第十周——项目一(1)—二叉树的层次遍历算法
- 第十周项目一——1000以内所有偶数和(2)
- 第十周项目一——1000以内所有偶数求和(1)
- 音乐检索(听歌识曲)实现过程
- 数据分析
- SWPU CTF 2017 Web WriteUp
- ros机器人开发概述
- PAT (Basic Level) Practise (中文)1002
- 第十周——项目一(1)(2)
- 体系结构 通过python实现 哈夫曼编码 扩展编码 等长编码
- 计算机常用的存储单位
- 爬虫系列4查看网站所有者
- 水一个博客能不能得积分啊……
- JPA--增加删除
- mac下配置apache虚拟主机
- Air800连接阿里云物联网
- STM32时钟配置