树结构专题 二叉树 几种典型运算 先序非递归 中序非递归 — 记忆区别 1 后序非递归 中序遍历的二叉树线索化 — 记忆 二叉搜索树 二叉搜索树基本操作 — 记忆 二叉树的路径最大和 知识点和代码均学习于Acwing: https://www.acwing.com/activity/ ...
分类:
其他好文 时间:
2020-02-01 12:50:54
阅读次数:
68
面试题33:二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。 例如,输入数组{5、7、6、9、11、10、8},则返回true,因为这个整数序列是下图二叉搜索树的后序 ...
分类:
其他好文 时间:
2020-01-31 21:13:36
阅读次数:
80
面试题37:序列化二叉树 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树。 树的结构定义如下: 问题分析 一般情况下,需要采用前/后序遍历和中序遍历才能确定一个二叉树,具体的内容我们之前探讨过 "剑指Offer对答如流系列 重建二叉树" 但是采用这种方式进行序列化和反序列化代价还是比较大的 ...
分类:
其他好文 时间:
2020-01-31 20:40:37
阅读次数:
61
1、题目描述: 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表 ...
分类:
其他好文 时间:
2020-01-31 18:49:57
阅读次数:
99
之前刷leetcode的时候,知道求排列组合都需要深度优先搜索(DFS), 那么前序、中序、后序遍历是什么鬼,一直傻傻的分不清楚。直到后来才知道,原来它们只是DFS的三种不同策略。N = Node(节点)L = Left(左节点)R = Right(右节点)在深度优先搜索的时候,以Node的访问顺序... ...
分类:
其他好文 时间:
2020-01-29 12:53:37
阅读次数:
108
这次首先总结二叉树的前序、中序、后序、层次遍历的递归与非递归实现。下次总结二叉树的查找、求二叉树的深度、统计节点个数与节点比较的递归实现。二叉树的结构定义为:12345678910public class { int val; TreeNode left; TreeNode right; TreeN... ...
分类:
其他好文 时间:
2020-01-29 12:33:19
阅读次数:
97
先序序列: 1,2,4,8,5,3,6,7 中序序列: 8,4,2,5,1,6,3,7 //节点类 /** * */ package Tree; /** * @author 邢兵 * @data * @description */ public class Node { public Object ...
分类:
编程语言 时间:
2020-01-28 23:19:42
阅读次数:
81
#include <bits/stdc++.h> #include <stdio.h> #include <stdlib.h> #include <queue> using namespace std; const int maxn = 50; struct node{ int data; node ...
分类:
其他好文 时间:
2020-01-24 00:07:11
阅读次数:
88
若直接DFS递归求解,会栈溢出 #include <cstdio> #include <cstring> #include <queue> #include <algorithm> using namespace std; const int maxn=50; struct node{ int da ...
分类:
其他好文 时间:
2020-01-21 23:11:32
阅读次数:
76
二叉树的建立 前中建树 后中建树 层中建树 二叉树的遍历 递归算法 先序非递归 中序非递归 后序非递归 层次遍历 多叉树的静态表示 ...
分类:
其他好文 时间:
2020-01-21 10:47:32
阅读次数:
83