二叉树总结 —— 前端面试考点

本文总结了二叉树的概念及其在前端面试中的常见考点,包括深度优先遍历(前序、中序、后序)和广度优先遍历(层序)。深度优先遍历可以递归或非递归实现,广度优先遍历通常用队列实现。二叉搜索树作为特殊的二叉树,其左右子树节点值遵循特定顺序。
摘要由CSDN通过智能技术生成

二叉树 是树的一种,即树中每个节点最多只能有两个子节点。
二叉树 常见考点有深度优先遍历、广度优先遍历。其中,深度优先遍历又分为前序、中序、后序遍历。

二叉树的存储方式:
1、链式存储:用指针把各个节点串联起来;
2、顺序存储:用数组把树的节点从上往下一层一层存起来(广度优先遍历);
二叉搜索树是二叉树的一种,表现为有值且有序。具体特点为:

  • 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
  • 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
  • 它的左、右子树也分别为二叉搜索树。

Code Part

二叉树的先中后序遍历,有递归和迭代(栈+非递归)两种方法。
递归法

二叉树先序遍历 – 递归版

const preOrder = (root) => {
   
	let res = []
	let dfs = (root) => {
   
		if(!root) return;
		res.push(root.val) //先序遍历从根节点开始
		dfs(root.left) //递归左子树
		dfs(root.right) //再递归右子树
	}
	dfs(root)
	return res
}

二叉树中序遍历 – 递归版

var inOrder = (root) => {
   
	let res = []
	let dfs = (root) => {
   
		if(!root) return;
		dfs(root.left) 
		res.push(root.val)
		dfs(root.right
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值