
二叉树
ITCharge
高效率编程,慢节奏生活。
展开
-
UVA839 Not so Mobile【二叉树】【递归】
题目大意:给你一个树形的天平,如图所示,根据力矩相等原则判断是否相等。 注意:输入的时候采用(先序)输入,如果WL为0时,该天平有左子天平,接下来 描述这个左子天平,如果WR为0时,该天平有有右子天平,接下来描述这个右 子天平。如果WL = WR = 0。则先描述左子天平,再描述右子天平。 思路:递归进行输入并进行判断。从最里层开始判断返回结果。一直到根。原创 2014-12-11 10:24:22 · 1321 阅读 · 0 评论 -
UVA699 The Falling Leaves【二叉树】【递归】
题目大意:给你一棵二叉树,每个节点都有一个位置。左子结点在它左边1个单位, 右子节点在它右边1个单位。在竖直方向上在一条线上的点位置相同。比如图中的5 和6在同一位置。现在从左到右,输出这棵树上相同位置上的所有节点的和。 思路:最多80个叶子节点,那么算上每层节点不会多于160个。建一个200左右的数 组,让中间编号为根结点,递归建立左右子树。并将相同位置的和累加。原创 2014-12-11 11:44:55 · 958 阅读 · 0 评论 -
UVA122 Trees on the level【二叉树】【BFS】
题目大意:输入一颗二叉树,将它按从上到下、从左到右的顺序输出各个节点位置。 思路:先根据输入的字符串将二叉树建立起来(注:可能出现不能建立的情况),若能 成功建立,则用宽度优先搜索(BFS)的方法遍历所有节点,并在遍历的时候,把结果 存下来,然后进行输出。 注意:BFS需要用到队列。原创 2014-12-11 09:23:21 · 1615 阅读 · 0 评论 -
UVA679 Dropping Balls【二叉树结点编号】
题目大意:给一颗深度为D的完全二叉树,节点编号从上到下从左到右为1,2,3,4…… 在结点1上方一个小球,小球落到一个结点上就会改变该点的开关。若该点开,则向 左走,否则向右走,给你I个小球,问最后一个小球最后所能落到的叶子编号。 思路:每一个结点上第奇数个小球都落在左子树上,第偶数个小球都落在右子树上。 直接对最后一个小球判断就可以了。若I为该结点奇数,它是向左走的第(I+1)/2个小球。 若为偶数,则是向右走的I/2个小球。原创 2014-12-11 08:54:55 · 1393 阅读 · 0 评论