由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个binary tree问题
相关主题
给定一个值和sorted队列,找到所有pair(其和等于给定值)问个C++ delete[]问题
找2个sorted array中的第K小的元素,有O(lgn)方法吗?问个题目,找不在区间内的所有数
请问如何binary search出数组中的重复元素[合集] 问个google面试题
问道数组元素连续相乘的名题LC的BST iterator到底要考察什么?
请教一个排序的问题G家面筋。
问个Binary Search Tree定义的问题请教一道题
问个小算法graph bfs里出队列的节点为何要染黑?
问个经典问题的improvement两道题,祝大家新年快乐!
相关话题的讨论汇总
话题: 元素话题: iterate话题: 找到话题: 第二层话题: 数组
进入JobHunting版参与讨论
1 (共1页)
t***n
发帖数: 183
1
给定一个结构完美的二叉树,类似这样的
1
3 2
7 6 5 4
15 14 13 12 11 10 9 8
如何按层先找到两边的元素,满足一定条件后在iterate它们之间的每一个元素
第二层,找到 3 和 2
第二层,找到7 和 4
第三层, 找到15 和 8
然后我想iterate 14,13, 12, 11, 10, 9
有什么可行的算法吗?
谢谢
o*******r
发帖数: 73
2
题目的意思没看太明白,如果知道一层的最左边和最右边,想遍历那一层的话感觉把二
叉树里加一个next 指针就可以。
d*******n
发帖数: 43
3
既然是完美二叉树 编号放到map里
要什么给什么

【在 t***n 的大作中提到】
: 给定一个结构完美的二叉树,类似这样的
: 1
: 3 2
: 7 6 5 4
: 15 14 13 12 11 10 9 8
: 如何按层先找到两边的元素,满足一定条件后在iterate它们之间的每一个元素
: 第二层,找到 3 和 2
: 第二层,找到7 和 4
: 第三层, 找到15 和 8
: 然后我想iterate 14,13, 12, 11, 10, 9

J*****4
发帖数: 1
4
1 初始定义一个计数器count =0 ,先将root的左结点推入队列q,然后将root右极点推
入队列。
2 从q中取一个节点,放入数组或print,如果count是偶数,将此节点的左节点推入队
列,如果count是奇数则将此节点的右节点推入队列。count 加1.
3 不断循环第2步,直到队列为空。
这样可以依次打印每层最两头的元素。 根据条件再打印中间的没看懂什么意思。
解法2
直接bfs. 顺序得到所有 n个元素。另外在bfs的同时把每个元素的层级level信息存在
一个长度为n的数组level。
然后对这个n个元素的数组进行二次处理,相邻两个元素的level如果不同,则为上一层
的尾元素和下一层首元素,单独组合出来数组1,其他的元素也单独组合出来数组2。
J*****4
发帖数: 1
5
完美二叉数的话,bfs出来后的数组,直接根据公式 i的左孩子是2i加1 ,右节点是2i
加2 直接选出来了,这样更简单了。
d*****t
发帖数: 28
6
"按层先找到两边的元素,满足一定条件后在iterate它们之间的每一个元素"
这个事情本身太二了,没有意义。
应该分成3件事来做:取最左支序列,取最右支,层序遍历
每一件都是trivial effort

【在 t***n 的大作中提到】
: 给定一个结构完美的二叉树,类似这样的
: 1
: 3 2
: 7 6 5 4
: 15 14 13 12 11 10 9 8
: 如何按层先找到两边的元素,满足一定条件后在iterate它们之间的每一个元素
: 第二层,找到 3 和 2
: 第二层,找到7 和 4
: 第三层, 找到15 和 8
: 然后我想iterate 14,13, 12, 11, 10, 9

1 (共1页)
进入JobHunting版参与讨论
相关主题
亚麻面筋--已挂请教一个排序的问题
请问面试中几个面试写程序的技巧性问题。问个Binary Search Tree定义的问题
请教一个binary tree问题问个小算法
How many full binary trees?问个经典问题的improvement
给定一个值和sorted队列,找到所有pair(其和等于给定值)问个C++ delete[]问题
找2个sorted array中的第K小的元素,有O(lgn)方法吗?问个题目,找不在区间内的所有数
请问如何binary search出数组中的重复元素[合集] 问个google面试题
问道数组元素连续相乘的名题LC的BST iterator到底要考察什么?
相关话题的讨论汇总
话题: 元素话题: iterate话题: 找到话题: 第二层话题: 数组