chapter_tree/binary_tree_traversal/ #25
Replies: 46 comments 52 replies
-
点进去好像没有看见go的代码显示? 想知道有没有机会贡献go的代码 |
Beta Was this translation helpful? Give feedback.
-
结点总数为 n 的二叉树的高度 Log2(n+1) - 1 |
Beta Was this translation helpful? Give feedback.
-
所谓的前中后序遍历:先遍历父节点为preOrder,第二个遍历父节点为inOrder,最后遍历父节点为postOrder |
Beta Was this translation helpful? Give feedback.
-
遍历方式:
|
Beta Was this translation helpful? Give feedback.
-
用栈实现 dfs |
Beta Was this translation helpful? Give feedback.
-
这里的前中后序,指的是根结点吧 |
Beta Was this translation helpful? Give feedback.
-
问:为什么DFS遍历二叉树有前、中、后三种顺序,分别有什么用呢? |
Beta Was this translation helpful? Give feedback.
-
递归利用栈的数据结构,代码的真少啊 |
Beta Was this translation helpful? Give feedback.
-
为啥没有c的代码,描述数据结构最好的代码就是c啊 |
Beta Was this translation helpful? Give feedback.
-
你这个前、中、后序遍历的图简直太好了,把我至今抽象的理解具现化了 ❤️ |
Beta Was this translation helpful? Give feedback.
-
binary_tree_bfs.c
|
Beta Was this translation helpful? Give feedback.
-
空间复杂度:在最差情况下,即满二叉树时,遍历到最底层之前,队列中最多同时存在 (N+1)/2个节点——满二叉树,bfs遍历到最底层之前,队列中的节点就是叶节点2的h次方吧? |
Beta Was this translation helpful? Give feedback.
-
太牛啦,每次面试都需要复习一遍,这次永远不会忘记了 |
Beta Was this translation helpful? Give feedback.
-
前序遍历结合栈使用迭代
|
Beta Was this translation helpful? Give feedback.
-
太棒了,对递归了解更多了一点,其他的广度优先和深度优先遍历是不是也用递归 |
Beta Was this translation helpful? Give feedback.
-
想问一下,你们在写回溯的时候,大脑里真的会有比较健全的逻辑吗,我思路总断,看着代码很简单,就是要想很久,想的很累 |
Beta Was this translation helpful? Give feedback.
-
所谓一图胜千言,用图来展示函数递归调用的过程。 在JavaScript中,函数调用会创建一个函数执行上下文(execution context),这个执行上下文会在调用栈中(call stack)维护,简单来说,就是调用函数的时候,函数会被放到栈的顶部,函数执行完毕就从栈顶移除。 假设二叉树结构如图: 这里以中序遍历为例。 当调用
以此类推,直到结点为空,此时调用栈结构如下: 当执行 开始执行 最后执行 最终输出结果: 前序遍历和后序遍历的递归过程类似。 |
Beta Was this translation helpful? Give feedback.
-
听老师上课讲完后在配合这张图看前中后序遍历,效果翻倍😆 |
Beta Was this translation helpful? Give feedback.
-
用python3.9.13版本执行chapter_tree文件下的python文件 都会遇到各种报错 最典型的是 ListNode | None 这类代码TypeError |
Beta Was this translation helpful? Give feedback.
-
请问大佬,为什么C++的二叉树遍历的代码实现中都要传入TreeNode *root,直接传入TreeNode root可以吗?为什么要在这里传入指针呀? |
Beta Was this translation helpful? Give feedback.
-
使用递归形式实现前/中/后序遍历在树很深的时候会有性能问题吗?感觉是不是可以用栈替代递归实现。还是说只有前序用栈实现比较直观 |
Beta Was this translation helpful? Give feedback.
-
这个 前、中、后序遍历的图实在是太太太太形象了!!!! |
Beta Was this translation helpful? Give feedback.
-
根左右,左根右,左右根 |
Beta Was this translation helpful? Give feedback.
-
之前在B站看到过一个小姐姐讲的关于前中后序遍历的意义。有几个重点
3月份刚开始学,一点小的体会但愿能帮助到新同学。 |
Beta Was this translation helpful? Give feedback.
-
请问作者,这个遍历函数里面的vec没有定义,在实际编程中应该在哪里定义呢? void preOrder(TreeNode *root) {
if (root == nullptr)
return;
// 访问优先级:根节点 -> 左子树 -> 右子树
vec.push_back(root->val);
preOrder(root->left);
preOrder(root->right);
} |
Beta Was this translation helpful? Give feedback.
-
图7-10真的妙啊~之前上数据结构的时候经常容易搞混,这个图让我恍然大悟 |
Beta Was this translation helpful? Give feedback.
-
广度优先遍历通常借助“队列”来实现。队列遵循“先进先出”的规则,而广度优先遍历则遵循“逐层推进”的规则,两者背后的思想是一致的。 |
Beta Was this translation helpful? Give feedback.
-
关于层序遍历今天学习时想到的拟人例子: |
Beta Was this translation helpful? Give feedback.
-
chapter_tree/binary_tree_traversal/
一本动画图解、能运行、可提问的数据结构与算法入门书
https://www.hello-algo.com/chapter_tree/binary_tree_traversal/
Beta Was this translation helpful? Give feedback.
All reactions