自下而上、从右往左层次遍历
试给出二叉树的自下而上、从右到左的层次遍历算法
分析:
我们只需要在层次遍历的基础上加入栈的使用,我们每次出队后的数据将其入栈,队列空了时,再去依次访问栈中元素,即可达到要求
代码如下:
struct biTree {char data;struct biTree *lchild;struct biTree *rchild;
};
struct Squeue {biTree *arr;int front, rear;
};
struct Stack {biTree *arr;int len;int top;
};
#include <stdio.h>
#include <stdlib.h>
void levelOrder2(biTree *T, Squeue *sq, int maxSize) {struct Stack *s = (struct Stack *)malloc(sizeof(struct Stack));struct biTree *p = T;struct biTree *r = (struct biTree *)malloc(sizeof(struct biTree));bool enQueueS(Squeue *, biTree *, int);bool isEmpty(Squeue *);bool deQueueS(Squeue *, biTree *, int);Stack *createStack(int);bool pushS(Stack *,biTree *);bool empty(Stack *);biTree *top(Stack *);bool pop(Stack *);s = createStack(maxSize);enQueueS(sq, p, maxSize);while (!isEmpty(sq)) {deQueueS(sq, r, maxSize);pushS(s,r);if
自下而上、从右往左层次遍历相关推荐
- 树(二叉树层次遍历输出及二叉树前序遍历输入)
前两篇解释了二叉树的有关逻辑概念及前中后序输出递归代码的实现,这篇将讲述二叉树层次遍历输出如何实现以及二叉树前序遍历输入的两种情况. 定义结构体 struct BiNode{char data;BiN ...
- css选择器解析:从右向左
css权重优先级 关于css权重优先级 !important > 行内样式 > ID > 类.伪类.属性 > 标签名 > 继承 > 通配符 浏览器渲染过程 在说到c ...
- 二叉树的自下而上、从右到左的层次遍历算法实现
问题: 1. 首先,先了解什么是层序遍历,试着编写层序遍历的代码. 层序遍历是自上而下,从左到右的遍历二叉树. void LevelOrder(BiTree bt) {SqQueue Q;BiNo ...
- 二叉树:层次遍历算法(自下而上,从右到左)
和上一个算法:二叉树:层次遍历算法(自上而下,从左到右)类似,是在上一个的基础上完成的,上一个是自上而下,从左到右,是默认的层次遍历算法. 而与之相反的,本题是自下而上,从右到左的层次遍历,需要借助队 ...
- 二叉树的建立及层次遍历(自下而上,自左而右输出)
给定一颗二叉树,要求从下至上按层遍历二叉树,每层的访问顺序是从左到右,每一层单独输出一行. 这道题目是数据结构初学者最头疼的题目之一.二叉树.c语言的灵魂和难点都在指针,而想要这里的二叉树实现的好,指 ...
- 二叉树:层次遍历算法(自上而下,从左到右)
层次遍历(LevelOrder)就是默认为自上而下,从左到右,一层一层进行遍历, 层次遍历需要借助队列来完成, 队列:先进先出(FIFO). 分析:如图有一棵二叉树,按照层次遍历最终的结果就是ABCD ...
- c++层次遍历_二叉树的遍历详解
概述 二叉树的遍历是一个很常见的问题.二叉树的遍历方式主要有:先序遍历.中序遍历.后序遍历.层次遍历.先序.中序.后序其实指的是父节点被访问的次序.若在遍历过程中,父节点先于它的子节点被访问,就是先序 ...
- 关于二叉树的层次遍历的花样(c++实现)
花样变形1::二叉树层次遍历但是分层打印 分析:与普通打印多了一个分层打印,其实只要在在层次遍历中多设置一个标记变量即可 代码如下: //二叉树的层次遍历 void levelTravel(BTNod ...
- leetcode-102 二叉树的层次遍历
给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回其层 ...
最新文章
- Initiate Field Service Jobs
- kubernetes (k8s)的二进制部署单节点(etcd和flannel网络)
- 在JShell中尝试Java9 HTTP客户端和Process API
- 剪切文件_lammps模拟带缺陷镍板剪切变形(in文件及注释)
- mysql 关系_MySQL之关系
- 排序算法 —— 计数排序
- vue生命周期心得体会800字
- 数学建模国奖论文2019-C-C308分析
- OpenCV学习 之 IplImage*遍历每个像素点
- stm32 IAP 程序编写心得
- 小程序创建搜索记录,获取搜索记录,删除搜索历史
- SAP License:仓库ERP系统
- 《Hud 2589》Phalanx详解
- 不懂技术,怎样制作手机电子书?
- jmeter压测使用实践
- 卡尔曼滤波和维纳滤波
- 跟美女上床和次待危机
- Geek 强力卸载工具,注册表,缓存,垃圾数据全清,免安装
- 一篇文章告诉你如何拍摄720度全景图片
- iMindMap汉化免费下载序列号