由于是满二叉树,用数组既可以表示父节点是i,则左孩子是2*i,右孩子是2*i+1另外根据二分搜索树的性质,中序遍历恰好是从小到大排序因此先中序遍历填充节点对应的值,然后再层次遍历输出即可。 又是一道遍历的水题。。。 #include <iostream> #include <cstdio> #inc ...
分类:
其他好文 时间:
2017-03-02 12:58:39
阅读次数:
162
是否可以把树上结点的编号,然后把二叉树存储在数组中呢?很遗憾如果结点在一条链上,那将是2^256个结点 所以需要采用动态结构 首先要读取结点,建立二叉树addnode()+read_input()承担这样的工作 然后遍历二叉树,读取结点编号输出bfs() 这道题有内存池应用的背景 附链接 http: ...
分类:
其他好文 时间:
2017-02-13 08:27:00
阅读次数:
229
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们平常所说的层次遍历。因为树的定...
分类:
其他好文 时间:
2017-01-31 10:41:03
阅读次数:
347
题目:https://www.nowcoder.com/practice/fdbd05d647084fcf9be78444e231998b?tpId=46&tqId=29064&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-rankin ...
分类:
其他好文 时间:
2017-01-29 14:41:35
阅读次数:
299
tag: 二叉树 - 层次遍历 思路: 用层次遍历思路求解 辅助: 队列 ...
分类:
其他好文 时间:
2017-01-24 12:26:21
阅读次数:
164
题意:二叉树按层次遍历从1开始标号,所有叶子结点深度相同,每个结点开关初始状态皆为关闭,小球从根结点开始下落(小球落在结点开关上会使结点开关状态改变),若结点开关关闭,则小球往左走,否则往右走,给定二叉树深度D,求第I个小球所落到的叶子结点编号。 分析:对于每一个结点,若小球当前编号为k, k为奇数 ...
分类:
其他好文 时间:
2017-01-07 21:16:20
阅读次数:
269
1、构造二叉树 2、层次遍历 3、深度递归遍历 4、深度非递归遍历 测试: ...
分类:
其他好文 时间:
2016-12-31 15:27:34
阅读次数:
225
/* 利用完全二叉树的性质,一个线性数组可以看做是完全二叉树的层次遍历 每次循环把二叉树按照双亲大于左右孩子的规则调换位置,这样一轮下来,根结点就是最大的那个数 把根结点和最后一个元素交换位置 下一次循环继续调换位置,除了最后一个元素 再一次循环继续调换位置,除了最后一个和倒数第二个元素 依次类推。... ...
分类:
编程语言 时间:
2016-12-26 22:03:55
阅读次数:
255
二叉树的一些属性: int datdID;double data;TreeNode leftTree;TreeNode rightTree;TreeNode parent; //构建一个二叉树,将数据都放入了一个LIST里面 int selfID = 0; public TreeNode creat ...
分类:
其他好文 时间:
2016-12-05 23:21:07
阅读次数:
373