函数1、函数的原型和调用(函数在使用前必须定义或者声明) #include<stdio.h> int max(int a,int b); //函数声明 int main(void) { int a = 3; int b = 21; max_one = max(a,b); printf("%d\n", ...
分类:
编程语言 时间:
2018-03-14 22:14:07
阅读次数:
234
Description 给定一颗二叉树,要求输出二叉树的深度以及后序遍历二叉树得到的序列。本题假设二叉树的结点数不超过1000。 Input 输入数据分为多组,第一行是测试数据的组数n,下面的n行分别代表一棵二叉树。每棵二叉树的结点均为正整数,数据为0代表当前结点为空,数据为-1代表二叉树数据输入结 ...
分类:
其他好文 时间:
2018-03-13 22:50:12
阅读次数:
276
直接上代码 还有一种方法:前序遍历的时候,顺序是:根-左-右。现在只要改成:根-右-左,最后在reverse一下 注意由于stack先进后出,前序遍历的时候是先压入右,再压左,这里是先左后右 层序遍历: 层序遍历用BFS 迭代方法:存取节点的结构是queue队列,常用的实现类是linkedlist, ...
分类:
其他好文 时间:
2018-03-13 12:16:39
阅读次数:
143
1)二叉树的遍历“ 先序遍历-->DLR 中序遍历--》LDR 后序遍历” >LRD L就是左子树 R就是右子树 D就是根部节点(但是需要牢记 对每一个节点的查看都是 “”“先左后右”) 2)基础补充 3)下面是案例来讲解 怎么遍历: 我们拿这张图举例子: 首先讲解 先序遍历: 就是先根 再左 再右 ...
分类:
其他好文 时间:
2018-03-13 12:12:56
阅读次数:
238
二叉树的前序、中序、后序遍历的定义:前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定 ...
分类:
其他好文 时间:
2018-03-12 13:26:47
阅读次数:
182
当要删除ArrayList里面的某个元素,一不注意就容易出bug。今天就给大家说一下在ArrayList循环遍历并删除元素的问题。首先请看下面的例子: 常见错误写法: 一: 结果:第二个“b”的字符串没有删掉。 二: 结果:这种for-each写法会报出并发修改异常:java.util.Concur ...
分类:
编程语言 时间:
2018-03-11 14:26:12
阅读次数:
176
二叉树的遍历(递归与非递归) 遍历:traversal 递归:recursion 栈 回溯 递归 栈和回溯有关 本文讨论二叉树的常见遍历方式的代码(Java)实现,包括 前序(preorder)、中序(inorder)、后序(postorder)、层序(level order), 进一步考虑递归和非 ...
分类:
其他好文 时间:
2018-03-11 00:25:19
阅读次数:
243
描述 在数据结构中,遍历是二叉树最重要的操作之一。所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。 这里给出三种遍历算法。 1.中序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: (1)遍历左子树; (2)访问根结点; (3)遍历右子树。2.前 ...
分类:
其他好文 时间:
2018-03-10 16:06:10
阅读次数:
146
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们平常所说的层次遍历。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁,而对于广度遍历来 ...
分类:
编程语言 时间:
2018-03-08 17:17:17
阅读次数:
209
思路简单,但是实现时有的地方需要注意, 1) insert(Node *rt,int num)的传参,指针做形参是地址传递,可以达到修改形参所指地址内容的目的,但这个形参的值即地址值不会发生变化,最开始Insert是这样写的 最开始不觉得有什么不对,但是发现insert完过后,rt==NULL;分析 ...
分类:
编程语言 时间:
2018-03-07 21:48:48
阅读次数:
150