awesome-interview icon indicating copy to clipboard operation
awesome-interview copied to clipboard

平衡二叉树 | HZFE - 剑指前端 Offer

Open utterances-bot opened this issue 3 years ago • 6 comments

平衡二叉树 | HZFE - 剑指前端 Offer

题目描述

https://febook.hzfe.org/awesome-interview/book1/algorithm-balanced-binary-trees

utterances-bot avatar Nov 08 '21 03:11 utterances-bot

解法二 -> 思路 -> 其中的描述: "上面的方法是自顶而上" , 可能会造成困惑. 解法一中从根节点开始遍历, 直观来看二叉树呈现出来的数据结构形状, 该处写为 "自顶而下" 或者 "从根节点遍历到树的末端" 可能更通顺些

joeyLin311 avatar Nov 08 '21 03:11 joeyLin311

树相关遍历使用yield 性能更好一些,https://www.30secondsofcode.org/articles/s/js-data-structures-binary-tree

hyperMoss avatar Nov 11 '21 09:11 hyperMoss

yield性能好在哪

xjq7 avatar May 23 '22 02:05 xjq7

“该方法由于使用了递归,并且每次递归都调用了两次自身,导致会函数栈会按照等差数列开辟", 关于两个算法空间复杂度分析这里,个人认为是O(n),首先从文章的理解来说,等差数列就是一个1+2+4+8+...+2n就也还是一个O(n),其次两个算法当树退化至链表时最差递归空间才到n,也就是从根节点到最后一个节点的栈空间都保存着,空间复杂度怎么也无法到O(n^2)。

fpandzc avatar May 24 '22 01:05 fpandzc

@fpandzc 是的这里的空间复杂度确实是O(n), 空间复杂度主要取决于递归调用的层数,递归调用的层数不会超过 n

xyxiao001 avatar May 29 '22 11:05 xyxiao001

@Akiq2016 这里应该得修正下

xyxiao001 avatar May 29 '22 11:05 xyxiao001