《大话数据结构》内容简介:数据结构介绍、算法推导大O阶的方法;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、赫夫曼树及应用;图的深度、广度遍历;最小生成树两种算法、最短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找 ...
分类:
其他好文 时间:
2020-03-10 21:29:34
阅读次数:
67
二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二 ...
分类:
其他好文 时间:
2020-03-10 01:33:13
阅读次数:
115
题目链接:序列化二叉树 题意: 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时 ...
分类:
其他好文 时间:
2020-03-06 23:54:28
阅读次数:
126
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 和之前做的二叉搜素树的中序遍历有相似之处 这个题的思路也是借助二叉搜素树的特性来做。 找到根结点,然后从头遍历直到找到比这个点大的点 左边的为左子树 右边的右子 ...
分类:
其他好文 时间:
2020-03-06 15:45:49
阅读次数:
56
剑指offer 61.序列化二叉树 题目 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串 ...
分类:
其他好文 时间:
2020-03-06 15:21:59
阅读次数:
64
链表结构介绍: 一种重要的数据结构,HashMap等集合的底层结构都是链表结构。链表以结点作为存储单元,这些存储单元可以是不连续的。每个结点由两部分组成:存储的数值+前序结点和后序结点的指针。即有前序结点的指针又有后序结点的指针的链表称为双向链表,只包含后续指针的链表为单链表,本文总结的均为单链表的 ...
分类:
其他好文 时间:
2020-03-05 01:02:39
阅读次数:
64
JAVA递归实现线索化二叉树 基础理论 首先,二叉树递归遍历分为先序遍历、中序遍历和后序遍历。 先序遍历为:根节点+左子树+右子树 中序遍历为:左子树+根节点+右子树 后序遍历为:左子树+右子树+根节点 (只要记住根节点在哪里就是什么遍历,且都是先左再右) 线索化 现在有这么一棵二叉树,它的数据结构 ...
分类:
编程语言 时间:
2020-03-05 00:57:55
阅读次数:
88
这是一道二叉树遍历模板题。 大致题意就是给出 用栈模拟二叉树的中序遍历过程,推断出push的全部元素是先序序列,pop的全部元素是中序序列,最后 根据 先序+中序 = 二叉树,输出二叉树的后序序列。 注意点:如果使用 getline(cin,str),必须要考虑 元素值大于 10的情况,不然 最后一 ...
分类:
其他好文 时间:
2020-03-02 10:30:47
阅读次数:
52
1. 题目 2. 思路 1. 如下图 发现规律,对于最左边来说,后面所有的集合都是先小后大或者先大后小,如果小大交错那么不符合 2. 使用1中规律确定是否为镜像,结合二叉排序树的特点,用递归建立树 3. 输出树的后序遍历 3. 注意点 1. 发现规律比较困难 2. 树的题目一般都要用递归 4. 代码 ...
分类:
其他好文 时间:
2020-03-02 01:00:34
阅读次数:
54
二叉树的遍历方式有,前序遍历、中序遍历、后序遍历、层序遍历。 恢复二叉树的方式中,一定要有中序遍历。如:可以根据 前序+中序、后序+中序,对二叉树进行恢复。若层序遍历中,对于节点为空的节点予以标识为null,则可以只根据层序遍历恢复出二叉树。 1、前序+中序恢复二叉树: 2、后序+中序恢复二叉树: ...
分类:
其他好文 时间:
2020-03-01 14:23:02
阅读次数:
77