Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

投影法和差影法的源程序

投影法和差影法的源程序

投影法和差影法的源程序2009-10-29以下是投影法的源程序,第二个参数是个BOOL变量,为真时表示在水平方向上做投影,否则在垂直方向上做投影。要注意的是,我们针对的虽然是二值图,但为了处理的方便,用的是256级灰度图,不过只用到了0和255两种灰度级。BOOL Projection(HWND hWnd,BOOL Hori){DWORD OffBits,BufSize;LPBITMAPINFOHEADER lpImgData;LPSTR ...
Base64编码

Base64编码

Base64编码2009-10-29; BASE64编码是邮件加密协议的必用算法,实际上就是一个简单的字节置换; 首先是将原字符串按6 bits 分组,高2位加0作为一个字节然后查找如下的; 码表获得加密字符.原文字符若不为3的倍数,用0补足参与运算,最后要把全; 0字节置换为"=",具体算法如下代码所示:; 可以采用查表法处理,但同样的问题是,那不适我喜欢的方式,让我聪明的程序; 来干这玩意吧.; 码表如下:; Value Encod...
规则迷宫的一种求解思想及算法

规则迷宫的一种求解思想及算法

规则迷宫的一种求解思想及算法2009-10-29周雪珍摘要本文通过将规则迷宫映射为迷宫矩阵,在迷宫矩阵中搜索迷宫路径,最后再将迷宫矩阵中的标记的路径在迷宫图中画出来.本文给出了给出了详细的搜索算法和具体的图像实现方法,供大家参考.前些天同学录上有同学上传了一个迷宫图(如图一所示),初看确是比较吓人,不放大是看不清路径的,但放大就看不到全图!要在图里手工走出很难想象的!当时有同学走出来了,以为是用程序就可以解决(后来才了解到同学是用Fireworks的Mag...
一种计算CD标识的算法

一种计算CD标识的算法

一种计算CD标识的算法2010-01-28王亚军北京市167信箱(100036) 王亚军----本文介绍了关于音乐CD的红皮书格式。文章从如何根据数据格式,调用WindowsMCI接口函数,利用一定算法计算CD之ID号,用来唯一标识CD等方面阐述和说明,具有一定的应用价值。一、红皮书格式----在光盘格式家族中,大家较熟悉的有红皮书、黄皮书、白皮书以及桔皮书等多种标准。这些格式有个共同的特点,就是光盘最小分配单位是长度为2352个字节的扇区;当然,并不是所...
一个简单有效的洗牌算法

一个简单有效的洗牌算法

一个简单有效的洗牌算法2010-01-28 博客园 Angel Lucifer装配脑袋兄在某个帖子中指出了一种有意思的洗牌算法,博主按照他的思路写了另外一种洗牌算法。下面是该洗牌算法的思路:我们先看一下纸牌游戏。一幅纸牌由 52 张不同的纸牌组成,发牌时必须产生不重复的纸牌,而且洗牌过程必须公平,即 52! 中纸牌顺序应该等概率出现。很明显这种随机排列所产生的随机数必须均匀分布且独立。由此代码如下:using System;using System.Dia...
循环打印算法:不拘一格编程序之一

循环打印算法:不拘一格编程序之一

循环打印算法:不拘一格编程序之一2010-01-28朱云翔小说中经常有人说某某将领打仗天马行空,不拘一格,让敌人防不胜防,比如《寻秦记》中的李牧;比如《大唐双龙传》中的寇少。编程序时也要有怎样的思想,不能被条条框框所束缚,比如这个例子:【例1】编写一个函数void fun(int t),要求在屏幕上打印t个“*”号,其中t的长度不会大于50。【设计1】:void fun(int t){if (t<0 || t>50) r...
俄罗斯方块新增行算法:不拘一格编程序之二

俄罗斯方块新增行算法:不拘一格编程序之二

俄罗斯方块新增行算法:不拘一格编程序之二2010-01-28朱云翔【题目】:一个数组int a[10],要求为每个元素随机赋值0或者1,但是这10个元素不能全0,也不能全1。【说明】:俄罗斯方块中需要在最下面插入若干具有随机方块的行,以增加游戏的难度。当然不能一行全是方块,这样就不能掉呢。也不能没有方块,那样难度会小一些。【方法1】逐个随机,统一判断随机产生10个元素,如果都是0,或者都是1,就重新生成。算法的关键不是逐个产生随机数,而是如何确定产生的随机...
变量取值交换的方法:不拘一格编程序之三

变量取值交换的方法:不拘一格编程序之三

变量取值交换的方法:不拘一格编程序之三2010-01-28朱云翔【题目】已知两变量a和b,设计一个算法,交换a与b的值。【方法1】最传统,最广泛,最著名的方法,增加一个变量,代码如下:int a, b; int c; c=a; a=b; b=c;【方法2】不增加第三个变量,交换a和b的值,代码如下:int a, b; a = a+b; b = a-b; a=a-b;分析,设a和b的原始值为a,b执行代码 变量a 变量bint a, b ...
记录KMP算法,记录其经典之处

记录KMP算法,记录其经典之处

记录KMP算法,记录其经典之处2010-01-28 csdn博客 老田离开学校已经多年了,早已经不再抚弄那些陈旧的书籍。周末,深圳的天气阴沉,老天这段时间总是很乐意显摆,动不动就给深圳人民来次几十年一遇的暴雨,似乎要把一年的雨水全部在这些天下完似的。所以呆在家里面看电视,上网,实在也无聊。随手翻开大学时候的(数据结构,还留着啊,当初刚出来的时候总没有底气,总希望能够随时充电用)。看到了字符串的模式匹配一章。突然发现KMP算法是如此的经典。故记之。。。在提K...
另类的链表数据结构以及算法

另类的链表数据结构以及算法

另类的链表数据结构以及算法2010-01-28 C++博客 那谁一般情况下,我们使用链表无非就是在链表结点中保存该链表中下一个元素的指针.如果为了删除方便,可能需要保存前一个元素的指针,也就是双向链表,这样在删除一个结点的时候就可以很快的定位到前面和后面的结点,并且改变它们相应的指向.在这些操作里面,指向链表元素的指针无疑是最关键的数据.考虑这样一个问题,如果两个进程进行通信,A进程负责管理链表,B进程向A进程发出分配或者删除链表元素的请求.这种情况下,像...
利用SDK实现智能五子棋

利用SDK实现智能五子棋

利用SDK实现智能五子棋2010-01-28赖锋网上有很多的实现五子棋的算法,如利用规则法,递归法,博弈树法来实现五子棋的,上次我写了一篇利用SDK实现迷宫算法的文章——“老调重提,利用 SDK 实现迷宫算法”,这次还是同样的题目,老调重提,我利用的是规则法来实现五子棋的智能。不过我个人认为还是博弈树法还是简洁。如果读者对博弈树有兴趣的,可以重读数据结构中的树结构的实现这一部分!这是利用SDK实现的五子棋程序...
二叉树遍历算法集合

二叉树遍历算法集合

二叉树遍历算法集合2010-01-28 C++博客 那谁二叉树遍历算法集合(前中后序遍历的递归和非递归算法,层序遍历算法)费了两天时间写的,包括前中后序遍历的递归和非递归算法,还有层序遍历总共2*3 + 1 = 7中遍历二叉树的算法,感觉其中后序遍历的非递归算法比较困难,想了很久最后的实现还是不够优雅,请大家指正~~总共三个文件,一个头文件,一个对应的cpp文件,还有一个用于测试的文件.头文件:/**//**************************...
运动搜索算法之钻石搜索(Ver1.0)

运动搜索算法之钻石搜索(Ver1.0)

运动搜索算法之钻石搜索(Ver1.0)2010-06-09 vckbase rtcodec前言DS算法是在运动搜索中使用最为广泛的搜索算法之一,有的地方被翻译成钻石搜索,菱形搜索。不管是硬件还是软件的视频编码器中,都可以看到它的存在。下面文章的内容主要从学报上摘录,希望给视频算法的新手们有些许帮助。原理通常,运动矢量总是高度集中在搜索窗口的中心附近。这对于物体作缓慢运动的视频序列来说更加明显,因为静止块和缓慢运动块占主导地位。运动矢量的中心偏移特性提示了在...
<< 51 52 53 54 55 56 57 58 59 60 >>