堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)不论什么一个子节点的键值。2.每一个结点的左子树和右...
分类:
其他好文 时间:
2014-06-19 07:54:46
阅读次数:
174
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。分析:当一个栈解决不了问题的时候我们就可以考虑采用辅助栈。 每次第二个栈一直是保存所定义栈中最小的元素,每次入栈的时候,辅助栈都进行比较保存最小的元素。先在头文件定义:typedef char ElemType;class...
分类:
其他好文 时间:
2014-06-19 00:55:50
阅读次数:
174
连接器里面采用的什么样的数据结构,我们先从Document迭代器开始入手,具体的Document迭代器类都实现了DocumentList接口,该接口定义了两个方法public interface DocumentList { public Document nextDocument() throw....
分类:
其他好文 时间:
2014-06-18 23:45:48
阅读次数:
345
2014.06.15 16:22简介: AVL树是一种高度平衡的二叉搜索树,其命名源自于联合发明算法的三位科学家的名字的首字母。此处“平衡”的定义是:任意节点的左右子树的高度相差不超过1。有了这个平衡的性质,使得AVL树的高度H总是接近log(N),因此各种增删改查的操作的复杂度能够保证在对数级别....
分类:
编程语言 时间:
2014-06-18 23:42:43
阅读次数:
734
这题说的是给了一个 平面 然后又很多的长方体柱子 问这个 容器的 容积是什么,排序后 然后 进行 并查集 判断是否 可以有比他小的高度依靠他算体积,通过并查集去判断他的子集的个数。#include #include #include #include using namespace std;cons...
分类:
其他好文 时间:
2014-06-18 23:35:37
阅读次数:
217
数据结构实验之栈四:括号匹配Time Limit: 1000ms Memory limit: 65536K有疑问?点这里^_^题目描述给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。输入输入数据有多组,处理到文件...
分类:
其他好文 时间:
2014-06-18 23:13:59
阅读次数:
237
#include #include // 第一题// 找出N个数的第k个最大者// 方法1:排序(冒泡),降序找出第k个值// 方法2:选前k个点进行降序排序,后面的数进行比较,// 如果数比第k个数小则忽略, 复杂度低于方法1#define TYPE int#define TESTBUBLESOR...
分类:
其他好文 时间:
2014-06-18 22:43:15
阅读次数:
335
回溯法是设计递归的一种常用方法,它的求解过程实质上就是一个先序遍历一棵"状态树"的过程,只是这棵树不是遍历前预先建立的而是隐含在遍历过程中的。下面举一个例子:求含n个元素的集的幂集:集合A={ {1,2,3}, {1,2}, {1,3}, {1}, {2,3},{2},{3},{}}; /...
分类:
其他好文 时间:
2014-06-17 00:49:01
阅读次数:
302
1. 聚集索引聚集索引(clustered index)就是按照每张表的主键构造一棵B+树,同时叶子节点中存放的为整张表的行记录数据。也将聚集索引的叶子节点称为数据页。同B+树数据结构一样,每个数据页都通过一个双向链表进行链接。由于实际的数据页只能按照一棵B+树进行排序,因此每张表只能拥有一个聚集索...
分类:
其他好文 时间:
2014-06-17 00:46:55
阅读次数:
327
链表中的“p->next”p->next到底是指p的下一个节点还是p的指针域呢?p是一个指针,那么p->next也应该是一个指针,即p->next应该是一个地址,因此p->next其实是p指向的节点的指针域(next域),所以p->next还是属于当前节点的,只不过它是下一个节点的地址罢了。所以如果...
分类:
编程语言 时间:
2014-06-17 00:45:56
阅读次数:
348