当前位置:网站首页>Preorder, inorder and postorder traversal of binary tree
Preorder, inorder and postorder traversal of binary tree
2022-07-07 12:29:00 【Xiaoding Chong duck!】
One 、 Binary tree
Binary tree (binary tree) Refers to the degree of nodes in the tree No more than 2 The ordered tree of , Its nodes are divided into left and right subtrees .
Full binary tree : If a binary tree has only a degree of 0 The node and degree of are 2 The node of , And the degree is 0 The nodes of are on the same layer , Then this binary tree is a full binary tree .
Perfect binary tree : Leaf nodes can only appear in the lowest and lower layers , And the lowest leaf nodes are concentrated on the left of the tree .
Two 、 The generation of binary tree
function NodeTree (value) {
this.value = value;
this.left = null;
this.right = null;
}
let root = new NodeTree('A');
let t1 = new NodeTree('B');
let t2 = new NodeTree('C');
let t3 = new NodeTree('D');
let t4 = new NodeTree('E');
let t5 = new NodeTree('F');
root.left = t1;
root.right = t2;
t1.left = t3;
t1.right = t4;
t2.left = t5;
console.log(root);
The generated binary tree is as follows :
3、 ... and 、 Traversal of binary tree
1、 The former sequence traversal
Preorder traversal is to traverse the root node first , Then traverse the left subtree , Finally, traverse the right subtree , namely root —> Left —> Right
The code is as follows :
/**
* The former sequence traversal
* @param {NodeTree} root
*/
let formerSequenceTraversal = function (root) {
if (!root || root.value === null) {
return null;
}
console.log(root.value);
formerSequenceTraversal(root.left);
formerSequenceTraversal(root.right);
}
The output is as follows :
A、B、D、E、C、F
2、 In the sequence traversal
Middle order traversal is to traverse the left subtree first , Then traverse the root node , Finally, traverse the right subtree , namely Left —> root —> Right
The code is as follows :
/**
* In the sequence traversal
* @param {NodeTree} root
*/
let middleSequenceTraversal = function (root) {
if (!root || root.value === null) {
return null;
}
middleSequenceTraversal(root.left);
console.log(root.value);
middleSequenceTraversal(root.right);
}
The output is as follows :
D、B、E、A、F、C
3、 After the sequence traversal
Post order traversal is to traverse the left subtree first , Traversing right subtree again , Finally, traverse the root node , namely Left —> Right —> root
The code is as follows :
/**
* After the sequence traversal
* @param {NodeTree} root
*/
let afterSequenceTraversal = function (root) {
if (!root || root.value === null) {
return null;
}
afterSequenceTraversal(root.left);
afterSequenceTraversal(root.right);
console.log(root.value);
}
The output is as follows :
D、E、B、F、C、A
边栏推荐
- 数据库系统原理与应用教程(008)—— 数据库相关概念练习题
- 108. Network security penetration test - [privilege escalation 6] - [windows kernel overflow privilege escalation]
- 千人规模互联网公司研发效能成功之路
- [deep learning] image multi label classification task, Baidu paddleclas
- [statistical learning methods] learning notes - improvement methods
- Visual studio 2019 (localdb) \mssqllocaldb SQL Server 2014 database version is 852 and cannot be opened. This server supports version 782 and earlier
- "Series after reading" my God! It's so simple to understand throttling and anti shake~
- 【统计学习方法】学习笔记——提升方法
- 【深度学习】图像多标签分类任务,百度PaddleClas
- NGUI-UILabel
猜你喜欢
Completion report of communication software development and Application
对话PPIO联合创始人王闻宇:整合边缘算力资源,开拓更多音视频服务场景
How to use PS link layer and shortcut keys, and how to do PS layer link
Unity中SmoothStep介绍和应用: 溶解特效优化
【统计学习方法】学习笔记——支持向量机(下)
千人规模互联网公司研发效能成功之路
(to be deleted later) yyds, paid academic resources, please keep a low profile!
College entrance examination composition, high-frequency mention of science and Technology
<No. 9> 1805. 字符串中不同整数的数目 (简单)
Minimalist movie website
随机推荐
关于 Web Content-Security-Policy Directive 通过 meta 元素指定的一些测试用例
Utiliser la pile pour convertir le binaire en décimal
平安证券手机行开户安全吗?
SQL Lab (32~35) contains the principle understanding and precautions of wide byte injection (continuously updated later)
The left-hand side of an assignment expression may not be an optional property access.ts(2779)
Attack and defense world - PWN learning notes
Vxlan 静态集中网关
wallys/Qualcomm IPQ8072A networking SBC supports dual 10GbE, WiFi 6
[statistical learning methods] learning notes - improvement methods
The IDM server response shows that you do not have permission to download the solution tutorial
Xiaohongshu microservice framework and governance and other cloud native business architecture evolution cases
30. Feed shot named entity recognition with self describing networks reading notes
Cenos openssh upgrade to version 8.4
SQL injection -- Audit of PHP source code (take SQL lab 1~15 as an example) (super detailed)
SQL lab 26~31 summary (subsequent continuous update) (including parameter pollution explanation)
Completion report of communication software development and Application
Up meta - Web3.0 world innovative meta universe financial agreement
如何理解服装产业链及供应链
Epp+dis learning path (1) -- Hello world!
千人规模互联网公司研发效能成功之路