并查集为解决等价类问题提供了一个高效快速的数据结构,在许多涉及到等价类的算法中,他都扮演着
改进算法中使用的数据机构的角色,他对提高算法的效率是可见一斑,例如在带有限期的作业问题中,在求最小生成树Kruskal算法都可以使用并查集高效的实现.
const int DefaultSize = 20;
class UFSets{
public:
UFSets(int s = DefaultSize);
~UFSets();
void Union(int root1,int root2);
void WeightUnion(int root1,int root2);//基 ...
- 23:31
- 浏览 (405)
- 评论 (0)
- 分类: Data Structure
堆排序的时间复杂性为nlog(n),空间复杂度为o(1),为比较排序的下界,因此具有非常好的性能,使用堆,也很容易实现堆排序.
#include<iostream>
#include"MinHeap.h"
using namespace std;
template<class T>
void HeapSort(T a[],int n){
T temp;
MinHeap<T> *m_heap = new MinHeap<T>(a,n);
for(int i = n-1; i >= 1; i--){//a[0]与a[i]交换,重新调整堆0---> ...
- 23:29
- 浏览 (340)
- 评论 (0)
- 分类: Data Structure
最小堆应用---用最小堆实现huffman树,huffman是形成huffman编码的基础.
#include"MinHeap.h"
template<class T> class HuffmanTree;
template<class T>
class TreeNode{
friend class HuffmanTree<T>;
private:
T data;
TreeNode<T> *left,*right;
public:
TreeNode(T value){
data = value;
left = ...
- 23:27
- 浏览 (443)
- 评论 (0)
- 分类: Data Structure
最小(大)堆是比较常用的数据结构,是实现优先队列和堆排序的基础,也可以实现例如霍夫曼编码,贪心算法等,具有很好的时间复杂性.
template<class T>
class MaxHeap{
public:
MaxHeap(T a[],int n);
MaxHeap(int ms);
~MaxHeap();
bool Insert(const T &x);//插入一个元素,如果空返回false,否则返回true
bool RemoveMax(T &x);//删除最小的元素,如果空返回false,否则返回true
void MakeEmp ...
- 23:24
- 浏览 (555)
- 评论 (0)
- 分类: Data Structure
- 进入论坛
最小(大)堆是比较常用的数据结构,是实现优先队列和堆排序的基础,也可以实现例如霍夫曼编码,贪心算法等,具有很好的时间复杂性.
MinHeap.h文件
template<class T>
class MinHeap{
public:
MinHeap(T a[],int n);
MinHeap(int ms);
~MinHeap();
bool Insert(const T &x);//插入一个元素,如果空返回false,否则返回true
bool RemoveMin(T &x);//删除最小的元素,如果空返回false,否则返回true ...
- 23:21
- 浏览 (1276)
- 评论 (4)
- 分类: Data Structure
- 进入论坛
- 浏览: 51523 次
- 性别:

- 来自: 长春

- 详细资料
搜索本博客
我的相册
RSS Reader1
共 6 张
共 6 张
链接
最新评论
-
写了一个支持搜索并下载歌 ...
引用 为什么要配置成legal_music_link=http://202.10 ...
-- by fuliang -
使用Struts2+Hibernate+Sp ...
很好很强大
-- by andy54321 -
Java Persistence with Hi ...
昨天买的, 不错
-- by lklkdawei -
使用Struts2+Spring+Hiber ...
不过整个工程都没有一条注释啊。。。 这个比较郁闷,万一以后你写了个框架,那下面 ...
-- by yyphzc -
使用Struts2+Spring+Hiber ...
总体感觉还行,不过部分代码需要优化为好 1.DAO既然使用泛型,那就干脆点。想想 ...
-- by yeshucheng






评论排行榜