![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【剑指offer】__树__
对学到的代码的过程还原
Und.
这个作者很懒,什么都没留下…
展开
-
从上往下打印二叉树(python)
一,问题从上往下打印出二叉树的每个节点,同层节点从左至右打印。二,代码原创 2020-06-25 20:17:28 · 134 阅读 · 0 评论 -
二叉树中和为某一值的路径(python)
一,问题输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二,分析...原创 2020-06-25 20:13:43 · 377 阅读 · 1 评论 -
重建二叉树(python)
前序遍历序列{1,2,4,7,3,5,6,8}中序遍历序列{4,7,2,1,5,3,8,6}原创 2020-06-25 20:11:34 · 90 阅读 · 0 评论 -
树的子结构(python)
一,问题输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)二,代码原创 2020-06-25 20:13:08 · 106 阅读 · 0 评论 -
二叉树的镜像(python)
一,问题操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6 10/ \ / 5 7 9 11镜像二叉树8/ 10 6/ \ / 11 9 7 5二,代码原创 2020-06-25 20:14:09 · 168 阅读 · 0 评论 -
二叉搜索树的后续遍历(python)
一,问题输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二,分析举个栗子:有这么一个二叉搜索树他的后序遍历是:1,2,4,3,6,8,7,5可以看到,最后一位是根节点从6开始大于5的都是右子树,6左边的是左子树我们先找到第一个比跟结点大的数,然后根据这个数的分成左右子树再用递归来判断他的左右子树是不是二叉搜索树三,代码...原创 2020-06-25 19:37:12 · 186 阅读 · 0 评论 -
平衡二叉树(python)
一,问题输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树二,代码原创 2020-06-25 20:13:30 · 100 阅读 · 0 评论 -
二叉树的深度(python)
一,问题输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。二,分析三,代码原创 2020-06-25 19:09:02 · 374 阅读 · 0 评论 -
序列化二叉树(python)
一:问题:请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。例如,我们可以把一个只有根节点为1的二叉树序列化为"1,",然后通过自原创 2020-06-25 18:54:33 · 269 阅读 · 0 评论 -
对称的二叉树(python)
一,问题:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。二,思路:我们要判断一个二叉树是否对称,就要看根节点的左右节点是否相同,再看左子树的左子树和右子树的右子树是否相等,再看左子树的右子树和右子树的左子树是否相等三:代码...原创 2020-06-16 19:14:06 · 138 阅读 · 0 评论 -
二叉树的下一个节点(python)
一,问题描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。二:情况分析:如题中所述情况:根据中序遍历规则,我们先看被指向的节点有无右子树!如果有,再看右子树有没有左节点!!如果右子树没有左节点,就返回右子树!!如果右子树有左节点,就一直往下找左节点,直到叶子节点为止,返回叶子节点!如果被指向节点没有右子树,就看他的父节点:!!如果被指向节点是其父节点的左子树,就返回其父节点!!如果被指向节点是其父原创 2020-06-16 18:52:00 · 232 阅读 · 0 评论 -
把二叉树打印成多行(python)
一,问题:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。二,代码:原创 2020-06-16 20:01:50 · 155 阅读 · 1 评论 -
按之字形打印二叉树(python)
一,题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。二,分析:广度遍历栈 先入后出三:代码:...原创 2020-06-16 19:47:27 · 309 阅读 · 0 评论 -
二叉搜索树与双向链表(python)
一,问题输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。二,分析假设有这么一个搜索树:我们先找到根节点的左孩子的最右节点,让他与根节点建立双向联系再找到根节点的右孩子的最左节点,让他与根节点建立双向联系调用递归,搞定其他的字树输出的时候要找到最左的叶子节点三,代码...原创 2020-06-22 18:36:46 · 203 阅读 · 0 评论 -
二叉搜索树的第k个节点(python)
一,问题:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。二,分析:二叉搜索树中序遍历: 2,3,4,5,6,7,8第k小的就是中序遍历的第k个值三:代码...原创 2020-06-16 20:25:19 · 182 阅读 · 0 评论