这个堆排序是借鉴http://blog.csdn.net/hguisu/article/details/7776068 这个博文所改,首先要感谢博主的精彩分享。简介:堆排序分为两步骤:1、构建一个初始堆(完全二叉树、大顶堆) 2、不断交换堆顶与堆尾的元素,那么堆底的元素都是排好的 3、 调用ad.....
分类:
编程语言 时间:
2015-12-15 15:54:12
阅读次数:
217
堆排序利用到完全二叉树的有关知识,时间复杂度O(nlogn)#include#include#include#includeusing namespace std;const int MAX_A = 100009;//使1到n元素为最大堆void Adjust(int a[],int i,int n...
分类:
编程语言 时间:
2015-12-14 20:58:06
阅读次数:
143
根据中序遍历建立完全二叉树。时间限制100 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA Binary Search Tree (BST) is recursively defined as a binary tree which has t...
分类:
其他好文 时间:
2015-12-06 12:47:14
阅读次数:
124
堆排序 堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。既然是堆排序,自然需要先建立一个堆,而建堆的核心内容是调整堆,使二叉树满....
分类:
编程语言 时间:
2015-12-03 11:33:12
阅读次数:
244
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5573题意:给你一个完全二叉树,节点为自然数的排列(第一行1,第二行2 3,第三行4 5 6 7。。。)。现在,给你一个N和K,K表示给你这个完全二叉树的前K行,从第1行到第K行有很多路径,希望找到一条路...
分类:
其他好文 时间:
2015-12-02 12:06:13
阅读次数:
148
一:线段树的基本概念1:概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,基本能保持每个操作的复杂度为O(log n)性质:假设某节点对应的区间是[a,b],设c=(a+b)/2,则左子树对应的区间是...
分类:
其他好文 时间:
2015-12-01 18:10:33
阅读次数:
153
线段树转载请注明出处,谢谢!http://blog.csdn.net/metalseed/article/details/8039326持续更新中···一:线段树基本概念1:概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问...
分类:
其他好文 时间:
2015-12-01 16:27:13
阅读次数:
274
/* * 二叉树 * * (将完全二叉树的数组形式改为链表形式) * * 1 * 2 3 * 4 5 6 ...
分类:
编程语言 时间:
2015-11-28 13:25:44
阅读次数:
314
紫书P148,例题6-6Sample Input4 23 410 12 28 128Sample Output1275123255这应该不仅仅是一棵完全二叉树,题目中说保证所有叶子节点的深度都相同,所以这是一颗满二叉树。这里要弄清满二叉树的一些概念和性质,首先,对于一颗满二叉树来说,他每一层的节点数...
分类:
其他好文 时间:
2015-11-27 16:44:21
阅读次数:
174
题目描述输入完全二叉树的层次遍历序列,输出该完全二叉树的中序遍历序列。例如下面二叉树的层次遍历序列为“ABCDE",中序遍历为"DBEAC"。 A / \ B C / \ DE遍历数采用递归写法,无需多说;而且前,中,后,皆为一法;重要的是看怎么建立一个二叉树,且听分解;//输入层次遍历输出中序#....
分类:
其他好文 时间:
2015-11-26 22:49:55
阅读次数:
312