堆的概念
堆是具有下列性质的完全二叉树:每个节点的值都大于或等于其左右孩子结点的值,称为大顶堆;或着每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 堆排序
堆排序(Heap Sort)就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列...
分类:
其他好文 时间:
2014-05-15 16:18:31
阅读次数:
329
题意:给定一棵任意二叉树(不一定是perfect binary tree),将它每一个节点的next指针都指向该节点右边的节点
思路:bfs
这里不能用dfs了,只能用bfs
bfs遍历将同一层的节点存放在同一个数组里,
然后在遍历每个数组,将前面的节点和后面的节点connect起来,
最后一个节点和NULL connect起来
需要定义一个新的struct结构,保存指向每个节点的指针和该节点所在的层
复杂度:时间O(n), 空间O( n)...
分类:
其他好文 时间:
2014-05-15 06:12:13
阅读次数:
294
Pat1043代码
题目描述:
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:
The left subtree of a node contains only nodes with keys less than t...
分类:
其他好文 时间:
2014-05-15 05:09:59
阅读次数:
351
原题地址:http://oj.leetcode.com/problems/binary-tree-level-order-traversal/题意:二叉树的层序遍历的实现。解题思路:二叉树的层序遍历可以用bfs或者dfs来实现。这里使用的dfs实现,代码比较简洁。实际上,二叉树的先序遍历就是dfs实...
分类:
编程语言 时间:
2014-05-14 03:25:59
阅读次数:
428
http://blog.163.com/jackie_howe/blog/static/199491347201231691525484/set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键...
分类:
编程语言 时间:
2014-05-13 21:45:21
阅读次数:
333
多叉树,简单地说,与二叉树类似,但叉可能要多的树形结构;类似于计算机文件目录。...
分类:
其他好文 时间:
2014-05-13 07:45:33
阅读次数:
188
求二叉树的宽度和深度
给定一个二叉树,获取该二叉树的宽度和深度。...
分类:
其他好文 时间:
2014-05-11 20:43:19
阅读次数:
571
堆是完全二叉树,一个大小为n的堆为一棵包含n个节点的完全二叉树。完全二叉树的根称为堆顶。当堆中每个节点的关键字值大于等于其双亲节点的关键字值,这样的堆称为最小堆,当子节点的值都小于等于其父节点时,称为最大堆。...
分类:
其他好文 时间:
2014-05-11 13:58:15
阅读次数:
202
#include
#include
int main()
{
int n,m,left,right;
int count;
int deep_n,deep_m,deep_diff;
int i, j;
for( scanf("%d%d",&m,&n); n!=0 && m!=0; scanf("%d%d",...
分类:
其他好文 时间:
2014-05-11 06:38:40
阅读次数:
395
通过二叉树的中序和后序遍历序列构造二叉树的非递归实现方法...
分类:
其他好文 时间:
2014-05-11 04:42:17
阅读次数:
305