当前位置:网站首页>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
边栏推荐
- Sort out the garbage collection of JVM, and don't involve high-quality things such as performance tuning for the time being
- 【PyTorch实战】用RNN写诗
- Introduction and application of smoothstep in unity: optimization of dissolution effect
- What is a LAN domain name? How to parse?
- 110. Network security penetration test - [privilege promotion 8] - [windows sqlserver xp_cmdshell stored procedure authorization]
- File upload vulnerability - upload labs (1~2)
- 消息队列消息丢失和消息重复发送的处理策略
- Static vxlan configuration
- Processing strategy of message queue message loss and repeated message sending
- zero-shot, one-shot和few-shot
猜你喜欢

The IDM server response shows that you do not have permission to download the solution tutorial

(待会删)yyds,付费搞来的学术资源,请低调使用!

Solutions to cross domain problems

盘点JS判断空对象的几大方法

ps链接图层的使用方法和快捷键,ps图层链接怎么做的

SQL lab 21~25 summary (subsequent continuous update) (including secondary injection explanation)

Solve server returns invalid timezone Go to ‘Advanced’ tab and set ‘serverTimezone’ property manually

Sign up now | oar hacker marathon phase III midsummer debut, waiting for you to challenge

Unity map auto match material tool map auto add to shader tool shader match map tool map made by substance painter auto match shader tool

RHSA first day operation
随机推荐
wallys/Qualcomm IPQ8072A networking SBC supports dual 10GbE, WiFi 6
关于 Web Content-Security-Policy Directive 通过 meta 元素指定的一些测试用例
【统计学习方法】学习笔记——第五章:决策树
(to be deleted later) yyds, paid academic resources, please keep a low profile!
Up meta - Web3.0 world innovative meta universe financial agreement
Unity map auto match material tool map auto add to shader tool shader match map tool map made by substance painter auto match shader tool
[Q&A]AttributeError: module ‘signal‘ has no attribute ‘SIGALRM‘
Is it safe to open Huatai's account in kainiu in 2022?
【深度学习】图像多标签分类任务,百度PaddleClas
Learning and using vscode
AirServer自动接收多画面投屏或者跨设备投屏
ES底层原理之倒排索引
Xiaohongshu microservice framework and governance and other cloud native business architecture evolution cases
File upload vulnerability - upload labs (1~2)
<No. 8> 1816. Truncate sentences (simple)
[pytorch practice] image description -- let neural network read pictures and tell stories
Is it safe to open an account in Ping An Securities mobile bank?
Several methods of checking JS to judge empty objects
Detailed explanation of debezium architecture of debezium synchronization
《通信软件开发与应用》课程结业报告