堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)不论什么一个子节点的键值。2.每一个结点的左子树和右...
分类:
其他好文 时间:
2014-06-19 07:54:46
阅读次数:
174
堆排序(heapsort)是一种原地(in place)排序算法, 它的时间复杂度是O(nlgn). 堆数据结构不只是在堆排序中有用,它还可以构成一个有效的优先队列。堆数据结构是一种数组对象,它可以被视为一颗完全二叉树。如图: Aheap-size是放在A中堆的元素个数。根据数组节点的索引,我们.....
分类:
其他好文 时间:
2014-06-15 21:27:58
阅读次数:
239
题目:输入一个二叉树,输出其镜像。BinTreeNode* ReverseTree(BinTreeNode* pRoot){ if (pRoot == NULL) return NULL; BinTreeNode* pLeftReverse = ReverseTree(pRoot->le...
分类:
其他好文 时间:
2014-06-15 19:40:38
阅读次数:
149
我个人比较喜欢学习数据结构,而Linux内核中实现的数据结构会是我们去学习、理解和应用数据结构的一个很好途径。这里介绍内核中广泛应用的四种数据结构:链表、队列、映射和二叉树。
链表:
Linux内核讲求高效精简,所以有时需要我们动态去创建和分配内存,这时就要借助链表,我们根据实际情况分配内存后,只需修改链表的指针,仍能索引到刚分配的内存区。链表分单向链表、双向链表和循环链表。...
分类:
系统相关 时间:
2014-06-15 15:19:43
阅读次数:
343
6.适配器模式
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图:
核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targetable,通过Adapter类,将Source的功能扩展到Targe...
分类:
其他好文 时间:
2014-06-15 12:16:42
阅读次数:
243
#include
struct BSTNode
{
int m_nval; //数据域
BSTNode *m_pleft; // 左孩子节点
BSTNode *m_pright; //右孩子节点
};
/************************************************************************
功能:在二叉排序树中 查找key值,...
分类:
其他好文 时间:
2014-06-15 12:14:04
阅读次数:
228
二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。基本概念:(1)结点的度。结点所拥有的子树的个数称为该结点的度。(2)叶...
分类:
其他好文 时间:
2014-06-15 11:14:30
阅读次数:
255
链接线段树的水题,拿来学习一下splay.本题涉及到求最大值以及单点更新,折腾了许久,差不多把splay搞明白了。按位置建树,按位置是一颗排序二叉树,对于区间的操作非常方便,每次操作都将需要的结点转自根的右孩子的左孩子,因为加了2个结点,一个最小的,一个最大的,据说是为了防止越界。这题只有单点,所以...
分类:
其他好文 时间:
2014-06-14 19:58:36
阅读次数:
224
二叉树的创建和四种遍历(前序、先序、后序、层次、结点的层数、深度、叶子数等)—java描述packagejavab;//树的结点类publicclassTreeNode{Stringdata;TreeNodeleftChild,rightChild,next;publicTreeNode(Strin...
分类:
编程语言 时间:
2014-06-14 13:54:02
阅读次数:
404
问题
给定一系列的点,和一个矩形。求矩形中包含的点的数量。
解答
这个问题可以通过建立矩阵来进行求解。首先将一个空间分割成矩阵,将点放置在对应的格子中,再计算矩形覆盖的格子,再判断格子中的点是否包含在矩形中
这种方法的问题是,可能这些点全都集中在一个格子中。这种情况下算法的效率比较低。
...
分类:
其他好文 时间:
2014-06-14 10:37:17
阅读次数:
192