二叉树的建立 前中建树 后中建树 层中建树 二叉树的遍历 递归算法 先序非递归 中序非递归 后序非递归 层次遍历 多叉树的静态表示 ...
分类:
其他好文 时间:
2020-01-21 10:47:32
阅读次数:
83
题目 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树: [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 题解 对于树的遍历有DFS(深度 ...
分类:
其他好文 时间:
2020-01-18 12:20:17
阅读次数:
123
首先作者提到软件=程序+软件工程,以及程序=数据结构+算法。 提到了一些来自大部分人的疑问。例如“1.我写了二叉树的遍历算法实现,在这里,二叉树是数据结构,遍历的实现细节是算法。C程序就是结果。但是这个程序有什么实际用处呢?在Java和其他一些语言中,似乎没有指针,那我可以不必了解二叉树么?2.我成 ...
分类:
其他好文 时间:
2020-01-15 14:18:09
阅读次数:
109
树的基本概念、特点。 二叉树的定义、概念、特点。 二叉树的遍历顺序:前序DLR、中序LDR、后序LRD(递归与迭代);层序遍历(迭代) 树的操作:插入、删除、查询、遍历、旋转等 树、森林、二叉树的关系 树的应用:哈夫曼树、红黑树、AVL树、B(B+)树、Treap树、Trie树(字典树)、伸展树、替 ...
分类:
其他好文 时间:
2020-01-08 12:40:38
阅读次数:
120
如果想成为一名优秀的软件工程师,我们往往需要对各个知识面进行学习。我认为以下几个方面的能力对于软件工程师来说是非常重要的: 1. 深入理解编程开发语言的思想,熟练掌握一门开发语言,并能够使用其进行编程。 2. 对算法和数据结构有基本的了解。 3. 深入理解计算机系统运行、计算机网络传输的基本原理。 ...
分类:
其他好文 时间:
2020-01-05 11:28:18
阅读次数:
76
11.3~11.4树的遍历(Tree Traversal) 通用地址系统(Universal address systems) 利用某种方式给树的顶点进行编号,具体如下(根默认为0): 遍历算法(Traversal algorithms) 1. 前序遍历(Preorder traversal):根左 ...
分类:
其他好文 时间:
2020-01-05 00:18:21
阅读次数:
64
对二叉树的操作,很多情况都是基于其遍历操作进行的,因此,二叉树的遍历操作应熟记于心! 题目是说将二叉树的所有路径输出,输出形式有特定的要求,简单的遍历操作即可完成任务! 这里,单独写了一个函数,用于将数组中的int类型,存至一个 vector<string> 类型的结果集中,void storeRe ...
分类:
其他好文 时间:
2020-01-04 16:38:01
阅读次数:
65
先序遍历:根—左儿子—右儿子(根左右) 中序遍历:左儿子—根—右儿子(左根右) 后序遍历:左儿子—右儿子—根(左右根) 通常来说这都记得住。 这时MY大神来一句:“我记不住” 记不住的话可以这么理解:先序遍历根在先,中序遍历根在中,后序遍历根在后,左儿子永大于右儿子 现在来看一张图 这张图的遍历: ...
分类:
其他好文 时间:
2020-01-02 22:50:38
阅读次数:
133
解决一个回溯问题,实际上就是一个决策树的遍历过程。你只需要思考 3 个问题: 1、路径:也就是已经做出的选择。 2、选择列表:也就是你当前可以做的选择。 3、结束条件:也就是到达决策树底层,无法再做选择的条件。 如果你不理解这三个词语的解释,没关系,我们后面会用「全排列」和「N 皇后问题」这两个经典 ...
分类:
编程语言 时间:
2019-12-30 14:41:42
阅读次数:
151
参考链接:https://segmentfault.com/a/1190000016674584 前言 二叉树的前中后序遍历是面试考察中一个重要的点。而递归方法是最简单实现的,所以要信手拈来。非递归方法更要加以掌握。前序就是根-左-右,中序是左-根-右,后序是左-右-根。有两种通用的遍历树的策略:深 ...
分类:
其他好文 时间:
2019-12-29 15:09:43
阅读次数:
75