
算法
文章平均质量分 80
hzb1983
从事C++开发 6年 熟悉MFC 网络编程 symbian 开发 等
展开
-
快速排序
//设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一躺快速排序。一躺快速排序的算法是: // 1)设置两个变量I、J,排序开始的时候:I=1,J=N; // 2)以第一个数组元素作为关键数据,赋值给X,即 X=A[1]; // 3)从J开始向前搜索,即由后开始向原创 2009-06-24 17:40:00 · 206 阅读 · 0 评论 -
哈夫曼算法编码原理与应用
概述 信息时代,人们对使用计算机获取信息、处理信息的依赖性越来越高。计算机系统面临的是数值、文字、语言、音乐、图形、动画、静图像、电视视频图像等多种媒体。数字化的视频和音频信号的数量之大是惊人的,对于电视画面的分辨率640×480的彩色图像,30帧/s,则一秒钟的数据量为:640×480×24×30=221 12M,所以播放时,需要221Mbps的通信回路。存储时,1张CD可存640M,则仅原创 2009-06-24 10:24:00 · 339 阅读 · 0 评论 -
char 与INt相互转换
int CharConvertToInt(char* str) char 转int { int k = 0; while (*str != /0) { k = k * 10 + *str++ - 0; } return k; } void IntConvertTochar(char*str,int slen ,int iNum) //int 转 char原创 2009-06-24 09:03:00 · 241 阅读 · 0 评论 -
哈夫曼编码程序
//哈夫曼编码程序 #include #define MAXSIZE 50 #define MAXWEIGHT 1000#define MAXNODE 50 #define MAXLEAF 50typedef struct { int weight; char letter; int parent,lchild,rchild; }HNode原创 2009-06-24 10:30:00 · 334 阅读 · 0 评论 -
二叉树层次遍历
struct bitree { int data; struct bitree *lchild, *rchild; }; void deep_traverse(bitree *t) { queue q; //给定一个队列原创 2009-06-29 10:03:00 · 180 阅读 · 0 评论 -
循环队列的数组表示函数的实现
线性结构的主要操作就是插入和删除,我们前面讲过的顺序线性表、单链表、双链表都没有限制插入和删除操作的位置。如果我们限定插入和删除操作在线性表的同一端进行那么这种结构就是栈;如果限定插入在一端而删除在另一端,这种结构就是对列;栈的特点是先进后出(FILO)而对列是先进先出(FIFO)。进行插入的一端叫队尾,删除的一端叫队头。 队列的实现可以用顺序线性表也可以用链表。在实际使用中有一种更常用的原创 2009-11-07 16:51:00 · 380 阅读 · 0 评论 -
算法
声明,本文所有13道算法题目,覆盖了基本上所有常见的单链表问题,全都用C#实现,并测试通过,代码下载:TestLink.zip 1.单链表反转2.找出单链表的倒数第4个元素3.找出单链表的中间元素4.删除无头单链表的一个节点5.两个不交叉的有序链表的合并6.有个二级单链表,其中每个元素都含有一个指向一个单链表的指针。写程序把这个二级链表称一级单链表。7.单链表交换任转载 2009-12-15 11:39:00 · 203 阅读 · 0 评论