JavaScript实现二叉树的前中后序遍历(递归和非递归)
一、来一棵绿绿的二叉树
1、binary-tree.js
const binaryTree = {
val: 'a',
left: {
val: 'b',
left: {
val: 'd',
left: null,
right: null
},
right: {
val: 'e',
left: null,
right: null
}
},
right: {
val: 'c',
left: {
val: 'f',
left: null,
right: null
},
right: {
val: 'g',
left: null,
right: null
}
}
}
module.exports = {
binaryTree
}
2、给它画一下
二、递归实现二叉树前中后序排列
递归实现非常简单,快速写完,在这个内卷的时代,四舍五入就是人均有手就会写,知道自己在干嘛就可以了
基本上就是前序就是最开始打印再递归左孩子,再递归右孩子;
中序就是递归左孩子,再打印结点值,再递归右孩子;
后序就是递归左孩子,递归右孩子,再打印结点值
1、前序遍历
const {
binaryTree } = require('./binary-tree')
const pre_order = root