摘要: 1. 堆是一个完全二叉树,堆主要设计到的操作有插入,删除,堆化。2. 堆的主要应用有堆排序:从小到大排序,使用大顶堆;从大到小排序,使用小顶堆。3. 下面以大顶堆为例,给出实现代码:View Code 1 #include <iostream> 2 #include <cassert> 3 4 using namespace std; 5 6 //大顶堆的实现 7 class Myheap 8 { 9 public: 10 Myheap(int hSize=DefaultSize) 11 { 12 if (hSize>DefaultSiz... 阅读全文
posted @ 2012-08-07 17:14 kasuosuo 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1. 位图主要是为了节省空间,如一个整数有32位,那么可以用这个整数的32位来表示32个整数。2. 实现代码如下:View Code 1 #include<iostream> 2 #include <fstream> 3 #include <cassert> 4 5 using namespace std; 6 7 #define INT_BITS sizeof(int) 8 #define SHIFT 5 //2^5=32 9 #define MASK 0x1f //3110 #define MAX 1024*1024*1024 //可以表示的最大整数11 阅读全文
posted @ 2012-08-07 13:24 kasuosuo 阅读(763) 评论(0) 推荐(0) 编辑