
DataStructure
文章平均质量分 79
Mobius
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
扑克牌发牌程序设计
本程序实现了一般扑克牌游戏的洗牌、发牌和理牌过程,程序模拟了对四个玩家的发牌,且能让各自玩家按大小顺序整理自己的手牌。牌的大小顺序按斗地主的规则(但无大小王)。 本程序定义了一个牌的结构体,其成员变量是两个字符指针。一个指向点数的字符数组,另一个指向花色的字符数组。考虑到牌的整理需要比较两张牌的大小,而字符不太好比较,从而构造了一个辅助函数Value来实现将字符转换为整数。程序得最后还对桌牌和手牌进行了检测,看是否有重复的牌。原创 2010-10-15 10:31:00 · 3138 阅读 · 0 评论 -
堆(Heap )
<br />// Heap 堆的顺序表存储结构typedef int WType; // 权值类型定义为整型typedef struct{ WType *key; // 权值 int total; // 当前堆的总数}Heap;//索引从1开始void shiftUp(Heap &H, int i){ bool done = false; WType temp; if (i == 1)exit(0); // 结点i原创 2011-02-17 00:25:00 · 225 阅读 · 0 评论 -
二叉堆(优先级队列)
<br />二叉堆分为两种,一种是大顶堆,一种是小顶堆。<br />以大顶堆为例,堆得存储用一维数组表示,i结点的左右孩子为2i,2i+1,父亲结点为【i/2】<br />基本操作有:<br />MAX_heapify(A,i);//堆的调整操作<br />bulid_MAX_heap(A,w,size);//创建一个大顶堆<br />maximum(A);//取堆顶<br />extrack_MAX(A);//取堆顶并删除<br />increase_key(A,i,key);//将第i个节点的键值上升到原创 2011-02-24 21:20:00 · 358 阅读 · 0 评论 -
Sort
<br />数据结构:采用线性顺序表动态存储结构。<br />InsertSort:<br /> void insertSort(SqList &L)<br /> { /* 对顺序表L作直接插入排序。算法10.1 */<br /> clock_t start, end;<br /> start = clock();<br /> int i,j;<br /> for(i = 2; i <= L.length;++i)<br /> if LT( *原创 2010-11-15 19:30:00 · 298 阅读 · 0 评论 -
赫夫曼编/译码系统
利用赫夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。这要求在 发送端通过一个编码系统对待传输数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要有一个完整的编/译码系统。本文编写了一个简单的赫夫曼码的编/译码小程序。原创 2010-10-27 16:51:00 · 1207 阅读 · 1 评论 -
赫夫曼编/译码系统
<br /> <br />赫夫曼编码/译码器<br />l 摘要:<br /> 利用赫夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。这要求在发送端通过一个编码系统对待传输数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要有一个完整的编/译码系统。本文编写了一个简单的赫夫曼码的编/译码小程序。<br /> 本程序主要实现了利用赫夫曼二叉树对一篇英语文档进行编码,对得到的编码利用同一个二叉树解码,最后对解码得到的文档进行测原创 2010-10-27 16:59:00 · 221 阅读 · 0 评论 -
一个可以统计文章中出现字符频率的小程序
字符统计原创 2010-10-21 21:58:00 · 538 阅读 · 0 评论 -
Binary Tree Practise(二叉树面向对象编程)
理解二叉树的链式结构的存储 实现二叉树的基本函数 理解二叉树的遍历过程 能够针对递归结构的二叉树进行查询、修改、删除等操作原创 2010-10-20 21:43:00 · 708 阅读 · 1 评论 -
HuffmanCode
霍夫曼(Huffman)编码是1952年为文本文件而建立,是一种统计编码。属于无损压缩编码。 霍夫曼编码的码长是变化的,对于出现频率高的信息,编码的长度较短;而对于出现频率低的信息,编码长度较长。这样,处理全部信息的总原创 2010-10-16 20:39:00 · 258 阅读 · 0 评论 -
矩阵方幂快速计算
设A是一个N*N的矩阵,很多时候人们需要计算一个矩阵的n次幂,当n足够大时,计算量会变得很大,时间会变得很长,编程快速计算A^n。原创 2010-10-15 10:37:00 · 545 阅读 · 0 评论 -
查并集(不相交数据结构)
<br />用数组来表示森林T,parent[],<br />parent[x]表示x的父亲结点,若parent[x]==x则x为root<br />rank[]表示结点的深度<br />查并集有三个基本操作<br />make_set(x),创建以x为代表的集合<br />find(x),找到包含x集合的代表元素<br />union(x,y)将包含元素x和y的集合和并<br />参考算法导论该算法采用路径压缩技术和按秩合并<br />int parent[N],rank[N];void make_s原创 2011-02-22 22:33:00 · 1645 阅读 · 1 评论