当前位置: 首页 > news >正文

灰色网站是什么淄博网站设计制作

灰色网站是什么,淄博网站设计制作,友情链接交换,网站开发android客户端本系列文章为浙江大学陈越、何钦铭数据结构学习笔记#xff0c;系列文章链接如下#xff1a; 数据结构(陈越、何钦铭)学习笔记 文章目录 一、题目描述二、整体思路与实现代码 一、题目描述 题目描述#xff1a; 给定一棵树#xff0c;按照从上到下、从左到右的顺序列出所有…本系列文章为浙江大学陈越、何钦铭数据结构学习笔记系列文章链接如下 数据结构(陈越、何钦铭)学习笔记 文章目录 一、题目描述二、整体思路与实现代码 一、题目描述 题目描述 给定一棵树按照从上到下、从左到右的顺序列出所有叶结点。 输入格式 每个输入文件包含一个测试用例。对于每种情况第一行给出一个正整数N(≤10)为树中的结点总数结点编号从0到N-1。接着是N行每一行对应一个结点并给出该结点的左、右子结点的索引。如果子结点不存在则在相应位置上给出“-”。任何一对子结点都用一个空格隔开。 输出格式 对于每个测试用例在一行中按从上到下、从左到右的顺序打印所有的叶结点索引。相邻数字之间必须有一个空格行尾不能有多余的空格。 输入样例 8 1 - - - 0 - 2 7 - - - - 5 - 4 6 输出样例 4 1 5 二、整体思路与实现代码 思路分析 ①建树读取各个节点存放在一个数组中建立一棵树。 ②找到这棵树的根节点把数组从头到尾扫描一遍然后看看有没有哪个结点不存在其他结点指向他。如果没人指向他他就是根结点了非根结点肯定有人指向他了。 ③层序输出叶节点层序输出在前面文章已经将讲解过首先将根结点入队然后开始执行循环结点出队、访问该结点、其左右儿子入队。在此基础上我们加上对节点属性的判定如果是叶子节点则将节点编号保存在一个数组中。最后通过便利保存节点编号的数组将叶子节点编号输出。 整体代码 #define _CRT_SECURE_NO_WARNINGS #include stdio.h #define MaxTree 10 #define Null -1 //子树为空时定义为Null #define Tree int//定义树节点 struct TreeNode {Tree left; //左子树的下标 Tree right; //右子树的下标 }T[MaxTree];//定义一个队列用于中序遍历时进行入队出队操作 struct Queue {Tree data[MaxTree]; //保存Tree节点int front; //队首int rear; //队尾 }Q;//建立一棵树并返回根节点 Tree BuildTree(struct TreeNode T[]) {int n; //输入n个节点int i; Tree Root; //最后找到的根节点int check[MaxTree]; //记录当前各个节点是否已访问char cl, cr; //保存输入的左、右节点scanf(%d, n); //输入的ngetchar();//读取回车if (n) {for (i 0; i n; i) check[i] 0; //初始化各个节点均未被访问for (i 0; i n; i) { scanf(%c %c, cl, cr); //输入的左、右节点getchar();//读取回车 /*对cl的对应处理 */if (cl ! -) {T[i].left cl - 0;check[T[i].left] 1;}else T[i].left Null;/*对cr的对应处理 */if (cr ! -) {T[i].right cr - 0;check[T[i].right] 1;}else T[i].right Null;}//n个节点中没有被check的就是根节点for (i 0; i n; i)if (!check[i]) break;Root i;}return Root; }void LevelOrderTraversal(Tree root) {if (!root) return; //若是空树则直接返回Tree leaves[MaxTree]; //保存叶子节点/*初始化队列 根结点放到队列里面去*/Q.front -1;Q.rear -1;Q.data[Q.rear] root;int t 0; //用于记录叶节点数量/*然后接下来是一个循环循环做三件事情:第一件事情 从队列里面抛出一个元素第二件事情 把队列刚抛出元素的Data print出来第三件事情 是把它的左右儿子放到队列里去*/while (Q.front ! Q.rear) { //队列不为空时int i Q.data[Q.front]; //出队if (T[i].left Null T[i].right Null) { //叶节点leaves[t] i;}else { //非叶节点左右子树若存在就入队if(T[i].left ! Null)Q.data[Q.rear] T[i].left;if (T[i].right ! Null)Q.data[Q.rear] T[i].right;} }//实现最后一个节点后面没有空格其它节点后面有空格for (int i 0; i t; i) {if(i t - 1)printf(%d , leaves[i]);elseprintf(%d, leaves[i]);} }int main() {Tree A BuildTree(T);LevelOrderTraversal(A);return 0; }运行输入测试样例结果正确
http://www.dnsts.com.cn/news/48110.html

相关文章:

  • 哪家专门做特卖的网站?flash做游戏下载网站
  • 郑州 手机网站制作帮忙做任务网站
  • 响应式门户网站模板12个优秀的平面设计素材网站的排名
  • 招标网官方网站公司网站ICP注销
  • 大数据营销的特征有哪些湘潭seo 推广快湘潭磐石网络
  • 成都市网站设计开发做代练的网站
  • 湛江市建设教育协会学校网站网页怎么制作步骤
  • 内网建设网站外网访问网站开发现状都用php
  • 宠物医院网站建设浙江省电子商务网站建设
  • 温州网页网站制作文登南海建设局网站
  • 免费网站百度收录廊坊永清网站建设
  • 上海网站开发建设找哪家网页微信版看聊天记录有记录吗
  • 做海鲜团购网站网站建设一般用什么编程
  • 网站和网站的app小程序api接口怎么对接
  • 网站幕布拍摄软件平台和系统的区别
  • 长沙公司做网站找哪个公司好wordpress文章只显示摘要
  • 青岛网站建设费用百度推广收费标准
  • 上海做衣服版的网站现在外地人能进深圳吗
  • 找网站推广如何快速的做网站
  • 江苏淮安建设局网站cdr 做网站
  • 免费建站自助建站广州app开发公司地址
  • 温州网站制作多少钱怎么制作网页内容
  • 如何使用表格做网站中山手机网站制作哪家好
  • 爱折腾 wordpress有必要买优化大师会员吗
  • 网站推广的资源合作推广wordpress图片滑动
  • 顺德中小企业网站建设热搜榜百度
  • 绍兴网站制作报价西安企业名录电话资料
  • 网站页面建议计算机网站建设论文
  • 网站开发兼容ie58网站建设 网站制作
  • 微信扫码抢红包网站做优化网站打开速度