广度优先遍历-BFS 广度优先遍历类似与二叉树的层序遍历算法,它的基本思想是:首先访问起始顶点v,接着由v出发,依次访问v的各个未访问的顶点w1 w2 w3....wn,然后再依次访问w1 w2 w3....wn的所有未被访问的邻接顶点;再从这些访问过的顶点出发,再访问它们所有未被访问过的邻接顶点. ...
分类:
其他好文 时间:
2018-05-14 21:38:56
阅读次数:
196
1.二叉树的序列化 序列化:如图,按前序进行序列化可得到字符串1!2!3!4!-1!-1!5!-1!-1!3!-1!-1!,其中!表示一个值的结束,-1表示该节点为空。 反序列化:序列化的逆操作。 附代码 2.二叉树的分层遍历 1.维护last和nlast指针。 2.开始时last=root 3.队 ...
分类:
其他好文 时间:
2018-05-03 13:28:57
阅读次数:
208
1. 树与二叉树 1)定义性质 3)存储 4)基本操作 2. 二叉树的遍历 1)先序 2)中序 3)后序 4)层序 5)二叉树静态实现 3. 树的遍历 1)二叉树静态实现 2)先根遍历 3)层序遍历 4)从树的遍历看DFS BFS 4. 二叉查找树(BST) 1)定义性质 2)基本操作 5. 平衡二 ...
分类:
其他好文 时间:
2018-04-13 22:26:17
阅读次数:
145
函数 对于初学C语言的人来说可能会问函数是什么?在这里我有一个通俗的解释;函数就是一个盒子,在这个盒子里面可以封装你想实现的功能,之后通过主函数进行调用即可 为什么要使用函数? 对于一个层序来说,模块化设计是极其重要的,而函数就体现了一种分而治之的思想,使用函数可以避免程序中代码的重复使用、另外也可 ...
分类:
编程语言 时间:
2018-03-31 18:17:32
阅读次数:
207
将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。 输入格式: 输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。 输出格式: 将输入的N个正整数顺序插入一个初始 ...
分类:
其他好文 时间:
2018-03-29 16:06:31
阅读次数:
182
一、场景: 插入数据库的值需要立即得到返回的主键id进行下一步程序操作 二、解决方法: 第一种:使用通用mapper的插入方法 Mapper.insertSelective(record); 此方法:插入一条数据,只插入不为null的字段,不会影响有默认值的字段支持Oracle序列,UUID,类似M ...
分类:
数据库 时间:
2018-03-21 13:45:57
阅读次数:
187
先看下前中后序遍历的顺序是怎么样的: 下面通过一个例子来具体的描述前序遍历的流程: 以下都以“节点”代替,比如:“28”指的是 “28这个节点”。 流程顺序是:自、左、右 1.先访问“28”,然后访问“28”左节点即“16”。 2.然后“16”的左节点即“13”。好,这里是关键,“13”没继续访问其 ...
分类:
其他好文 时间:
2018-03-19 13:29:12
阅读次数:
169
直接上代码 还有一种方法:前序遍历的时候,顺序是:根-左-右。现在只要改成:根-右-左,最后在reverse一下 注意由于stack先进后出,前序遍历的时候是先压入右,再压左,这里是先左后右 层序遍历: 层序遍历用BFS 迭代方法:存取节点的结构是queue队列,常用的实现类是linkedlist, ...
分类:
其他好文 时间:
2018-03-13 12:16:39
阅读次数:
143
以下是比较常见的题型 1、二叉树的深度/宽度 二叉树的最大深度 "104 Maximum Depth of Binary Tree" 二叉树的最小深度 "111 Minimum Depth of Binary Tree" 二叉树的最大宽度 "662 Maximum Width of Binary T ...
分类:
其他好文 时间:
2018-03-11 14:32:08
阅读次数:
254