前端面试题:二叉树广度和深度遍历

试题:有如下树形数据结构,通过JavaScript对二叉树实现深度遍历和广度遍历

前端面试题:二叉树广度和深度遍历_第1张图片

广度遍历:

通过JavaScript数组模拟栈的方式实现,首先节点入栈,然后从栈顶取出节点,放入数组,然后对取出的节点进行遍历入栈,直到全部取出,对二叉树遍历完毕

前端面试题:二叉树广度和深度遍历_第2张图片

深度遍历

通过递归实现,通过判断取出的节点是否还有children节点,如有则进行递归操作,如没有则放入数组中保存,最终把所有节点全部放入数组中结束,具体实现如下

前端面试题:二叉树广度和深度遍历_第3张图片

你可能感兴趣的:(算法,前端,数据结构,javascript)