二叉树C++ | 广度优先遍历(层级顺序遍历)_2
层级顺序遍历二叉树
/* Binary tree - Level Order Traversal */
#include<iostream>
#include<queue>
using namespace std;struct Node {char data;Node *left;Node *right;
};// Function to print Nodes in a binary tree in Level order
void LevelOrder(Node *root) {if(root == NULL) return;queue<Node*> Q;Q.push(root); //while there is at least one discovered nodewhile(!Q.empty()) {Node* current = Q.front();Q.pop(); // removing the element at frontcout<<current->data<<" ";if(current->left != NULL) Q.push(current->left);if(current->right != NULL) Q.push(current->right);}
}
// Function to Insert Node in a Binary Search Tree
Node* Insert(Node *root,char data) {if(root == NULL) {root = new Node();root->data = data;root->left = root->right = NULL;}else if(data <= root->data) root->left = Insert(root->left,data);else root->right = Insert(root->right,data);return root;
}int main() {/*Code To Test the logicCreating an example treeM/ \B Q/ \ \A C Z*/Node* root = NULL;root = Insert(root,'M'); root = Insert(root,'B');root = Insert(root,'Q'); root = Insert(root,'Z'); root = Insert(root,'A'); root = Insert(root,'C');//Print Nodes in Level Order. LevelOrder(root);
}
编程就是算法和数据结构,算法和数据结构是编程的灵魂。
二叉树C++ | 广度优先遍历(层级顺序遍历)_2相关推荐
- 二叉树层级遍历_二叉树中的层级顺序遍历
二叉树层级遍历 Level Order Traversal is one of the methods for traversing across a Binary Tree. In this art ...
- 二叉树 Java 实现 前序遍历 中序遍历 后序遍历 层级遍历 获取叶节点 宽度 ,高度,队列实现二叉树遍历 求二叉树的最大距离...
数据结构中一直对二叉树不是很了解,今天趁着这个时间整理一下 许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显 ...
- C语言二叉树曲折级顺序遍历(附完整源码)
C语言二叉树曲折级顺序遍历 曲折级顺序遍历 C语言二叉树曲折级顺序遍历完整源码(定义,实现,main函数测试) 曲折级顺序遍历 Given a binary Tree 1/ \2 3/ \ / \4 ...
- 实现一个二叉树层级遍历_算法总结:左神class5—二叉树递归和非递归实现遍历(后序用一个栈彩蛋)...
二叉树类型的题目为常考题型 1.能够结合队列.栈.链表.字符串等很多数据结构. 2.需要掌握图的基本遍历方式,比如BFS和DFS. 3.需要掌握递归函数的使用,并自己设计出递归过程. 4.与实际工作结 ...
- C++ 将二叉树以前序遍历的顺序转换成链表
二叉树转链表 题目[leetcode114] 给定一个二叉树,原地将它展开为一个单链表. 例如,给定二叉树 1/ \2 5/ \ \ 3 4 6 将其展开为: 1\ 2\3\4\5\6 思路 方法一: ...
- 建立二叉树:已知层次遍历顺序建立二叉树、已知先序遍历顺序建立二叉树
其他二叉树知识!二叉树知识汇总 目录 前提知识: 约定: 二叉树节点的存储结构: 创建一个节点: 建立二叉树的几种方法: 一.已知先序遍历顺序,构建二叉树.(链式存储) 二.已知层次遍历顺序,构建二叉 ...
- 【数据结构】 实验报告10 顺序、链式存储结构的二叉树递归遍历、层次遍历求高度
一.实验目的和要求 (源码在最后) 要求: 两种及以上存储结构(建议 顺序存储结构和链式存储结构各一).两种及以上方法(建议 递归遍历和层次遍历方法各一).分析各代码性能. 抽象数据类型(二叉树)独立 ...
- 层次顺序遍历二叉树 (二叉树层序遍历)
[问题描述] 编写按层次顺序遍历二叉树的算法 实验要求:以二叉链表作为存储结构 [输入形式] 以扩展二叉树前序遍历序列作为输入,创建二叉树. [输出形式] 输出层次遍历节点的编号,每层按从左到右顺序输 ...
- 本题要求按照先序遍历的顺序输出给定二叉树的叶结点。
函数接口定义: void PreorderPrintLeaves( BinTree BT ); 其中BinTree结构定义如下: typedef struct TNode *Position; typ ...
最新文章
- eclipse常见错误
- vim补全html标签,vim括号引号html标签自动补全
- mysql---视图
- Use BAdI - call_workitem_exit workflow
- 在柱状图中找最大矩形——O(n)时间复杂度java实现
- 如何在同一地方组建多个 ZigBee 网络
- AOP下的权限控制实现
- BZOJ 2337 XOR和路径(概率DP)
- 三进制计算机_要做一个编程界优秀的攀登者,首先要认真计算机中的0和1
- c++实现飞机大战小游戏
- 计算机硬件清理步骤,联想笔记本电脑清理灰尘详细步骤
- eclipse无法识别ftl文件解决
- endnote中科大版区别_文献管理软件 EndNote X9.3.1 中科大批量授权版
- 技巧篇:常用的vba代码汇总
- Android 开发艺术探索笔记(12),android开发教程百度网盘
- 5G无线增强设计与国际标准 个人整理(PDF和Word)
- Primeng PrimeFlex 的使用总结 (Angular 10)
- php网页在iis里打不开,asp的网站在iis上打不开
- ROS中的imu_transformer包是什么,在哪里可以下载啊
- 据说程序员写完代码是这个样子,99%的人都中枪了