栈的用途比较广 如:子进程调用,递归调用,表达式转换,二叉树遍历,深度优先搜索 等等 实现思路: 1)top=-1时栈为空,top=maxsize-1栈满 C#代码实现: 1 using System; 2 3 namespace 数据结构 4 { 5 public class ArrayStack ...
分类:
编程语言 时间:
2020-04-16 09:18:27
阅读次数:
73
题目描述: 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(val ...
分类:
其他好文 时间:
2020-04-05 20:08:42
阅读次数:
79
高级树、AVL 树和红黑树 二叉树遍历 Pre order/In order/Post orde 1. 前序(Pre order):根 左 右 2. 中序(In order):左 根 右 3. 后序(Post order):左 右 根 示例代码 二叉搜索树 Binary Search Tree 二叉 ...
分类:
其他好文 时间:
2020-03-29 01:24:53
阅读次数:
83
二叉树遍历 1.前序遍历(Pre order Traversal) 2.中序遍历(In order Traversal) 3.后序遍历(Post order Traversal) 逆推重建二叉树 前序遍历序列+中序遍历序列 1. 获取前序遍历序列第一个元素A,该元素是二叉树根结点中保存的关键字。 2 ...
分类:
其他好文 时间:
2020-03-27 19:47:27
阅读次数:
87
1.二叉树遍历的迭代模板 "前序遍历" 前序遍历的顺序是根左右,为了防止破坏树结构,我们将root地址给了tmp,开始只要tmp不空,他一定是根节点或左节点,因为在if语句中我们令tmp = tmp left,因此在if语句中我们把相应的val值给了ans,如果tmp空了,说明左节点遍历完了,我们找 ...
分类:
编程语言 时间:
2020-03-16 09:25:36
阅读次数:
55
二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二 ...
分类:
其他好文 时间:
2020-03-10 01:33:13
阅读次数:
115
题目链接:序列化二叉树 题意: 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时 ...
分类:
其他好文 时间:
2020-03-06 23:54:28
阅读次数:
126
剑指offer 61.序列化二叉树 题目 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串 ...
分类:
其他好文 时间:
2020-03-06 15:21:59
阅读次数:
64
基本思想: 要求用两个序列构建新的二叉树,标准写法,注意下; 关键点: 无; #include<stdio.h> #include<stdlib.h> #include<iostream> #include<string> #include<vector> #include<algorithm> # ...
分类:
其他好文 时间:
2020-03-05 00:55:30
阅读次数:
61
这是一道二叉树遍历模板题。 大致题意就是给出 用栈模拟二叉树的中序遍历过程,推断出push的全部元素是先序序列,pop的全部元素是中序序列,最后 根据 先序+中序 = 二叉树,输出二叉树的后序序列。 注意点:如果使用 getline(cin,str),必须要考虑 元素值大于 10的情况,不然 最后一 ...
分类:
其他好文 时间:
2020-03-02 10:30:47
阅读次数:
52