博客首页
注册
建议与交流
排行榜
加入友情链接
宝宝相册的专门空间
推荐
投诉
搜索:
帮助
hope_process
想清楚自己要走的路,走自己的路,绝不为其他诱惑动心,留足
heixia108.cublog.cn
管理博客
发表文章
留言
收藏夹
· OS
· 常去网站
· 搜索引擎
· Linux
· 编译器
· 算法
· 网络技术与安全
· MySQL
· OpenGL
· java
· Perl
· 病毒学习
· N-blog
· USB
博客圈
音乐
相册
· 收藏
文章
· 精典转载
· linux
· C/C++
· Java
· LDD
· compiler
· 算法
· OS
}
· oldlinux
· 病毒学习
· 搜索引擎
· 网络技术与安全
· 人物
· 隐藏文件夹
}
· Lisp
· Perl
· OpenGL
· 数据挖掘与AI
· 软件工程
· 硬件相关
· Windows
· 心情
· Enhlish
· 学习资料
首页
关于作者
既然目标是地平线 留给世界的只能是背影
||
<<
>>
||
我的分类
文章列表 - 算法
KMP
<table style="border-collapse: collapse;" bgcolor="#f1f1f1" border="1" bordercolor="#999999" cellpadding="0" cellspacing="0" width="95%"><tbody><tr><td><p style="margin: 5px; line-height: 150%;"><code><span style="color: rgb(0, 0, 0);"><span style="color: rgb(255, 153, 0);">/* -*- C -*- <br> * <br> * KMP.c - <br> * <br> * Author : heixia<br> * Created On : Sat Mar 22 08:54:54 2008<br> * <br> */</span><br> <br> <span st……
查看全文
发表于:2008-03-22 ┆
阅读(159)
┆
评论(0)
8数码问题
采用A*算法<br><br>另处,8数码问题也可能没解:<br>/*<br> <cc>将一个八数码的状态对应到一个序列,例如: <br>1 2 3 <br>4 5 6 <br>8 7 <br>可对应于序列:1 2 3 4 5 6 8 7 <br> <br>对于空格的左移/右移操作,对应序列不变(逆序数也就不变) <br>对于空格的上移/下移操作,相当于序列的某个数字前移/后移两位,该序列的逆序数奇偶性不变。 <br> <br>综上所述,两个互相可达的状态对应序列逆序数的奇偶性应该相同 <br> ……
查看全文
发表于:2008-03-19 ┆
阅读(279)
┆
评论(0)
巧妙!
<br> <table style="border-collapse: collapse;" bgcolor="#f1f1f1" border="1" bordercolor="#999999" cellpadding="0" cellspacing="0" width="95%"><tbody><tr><td><p style="margin: 5px; line-height: 150%;"><code><span style="color: rgb(0, 0, 0);"><span style="color: rgb(255, 1, 2);">题目:</span>10人排一纵队,每人头上带一顶帽子,帽子的颜色为红与黑中的一种,后面的人能看到前面的所有的人头上戴的帽子的颜色,现请您出一个策略,把该策略告诉所有队员,让所有队员从后向前报自己帽子上的颜色,队员……
查看全文
发表于:2008-03-14 ┆
阅读(127)
┆
评论(0)
有10亿个浮点数,从中找出1万个最大的数
<div><a href="http://topic.csdn.net/u/20080228/14/d939e53a-3646-46e5-a0d4-0b683500cd3c.html" target="_blank">http://topic.csdn.net/u/20080228/14/d939e53a-3646-46e5-a0d4-0b683500cd3c.html</a></div>
查看全文
发表于:2008-03-01 ┆
阅读(59)
┆
评论(0)
密码字典生成器 源代码
<DIV> <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#999999 cellSpacing=0 cellPadding=0 width="95%" bgColor=#f1f1f1 border=1> <TBODY> <TR> <TD> <P style="MARGIN: 5px; LINE-HEIGHT: 150%"><CODE><SPAN style="COLOR: #000000"><FONT face=NSimsun>找了好久才找到</FONT></SPAN></CODE></P></TD></TR></TBODY></TABLE></DIV> <DIV> </DIV> <DIV>hackdic 1.6.4<BR>作者:Neil.Ton<BR>MSN:neil_ton@msn.com<BR>MAIL:neilton1987@gmail.com<BR><BR>今天天气很差啊,雨一直下,后天就要开学了,今天和班长一起去……
查看全文
发表于:2008-01-11 ┆
阅读(253)
┆
评论(0)
汉诺塔非递归算法
<DIV> <DIV>/*《数学营养菜》(谈祥柏 著)提供的一种方法,编了一个程序来实现。<BR>*/<BR>/*<BR>算法介绍:<BR>首先容易证明,当盘子的个数为n时,移动的次数应等于2^n - 1。<BR>一位美国学者发现一种出人意料的方法,只要轮流进行两步操作就可以了。<BR>首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上。<BR>根据圆盘的数量确定柱子的排放顺序:若n为偶数,按顺时针方向依次摆放 A B C;<BR>若n为奇数,按顺时针方向依次摆放 A C B。<BR>(1)按顺时针方向把圆盘1从现在的柱子移动到下一根柱子,即当n为偶数……
查看全文
发表于:2008-01-10 ┆
阅读(264)
┆
评论(0)
LZ77源码阅读
<DIV></DIV> <DIV id=art style="MARGIN: 15px" width="100%"> <DIV>用LZ77作为关键字可以搜索到一份被转载了很多次的源码,不过这份代码基本上一行注释都没有,阅读</DIV> <DIV> </DIV> <DIV>学习非常的不方便。于是决定给这个代码的关键函数加上注释,作为阅读的学习笔记。</DIV> <DIV> </DIV> <DIV> <TABLE style="BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #999 1px solid; WIDTH: 80%; BORDER-BOTTOM: #999 1px solid" align=center> <TBODY> <TR> <TD> <P>/*……
查看全文
发表于:2008-01-10 ┆
阅读(363)
┆
评论(0)
hash设计之二--打造最快的Hash表
<DIV> <P style="WORD-BREAK: break-all; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-SIZE: 10.5pt; COLOR: navy; mso-ascii-font-family: Verdana"><FONT face=宋体>一个简单的问题:有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评价,或许它真的能工作,但</FO……
查看全文
发表于:2007-12-22 ┆
阅读(370)
┆
评论(0)
hash设计之一--字符串hash算法比较
<DIV> <P><STRONG>字符串的算法一般大公司都会考到,我们首先要想到高效的hash。如百度查找一组字符串是否出现在某个文本中,这个不是考什么kmp,他们想听到的是hash。趋势科技考的是从某个文本中删除一组字符串,我想也是要hash吧。</STRONG></P> <P><STRONG>1 概述</STRONG> </P> <TABLE width="100%" border=0> <TBODY> <TR> <TD class=a14>链表<FONT size=+0>查找</FONT>的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但<FONT size=+0>Hash</FONT>链表<FONT size=+0>查找</FONT>的时间效率为O(1)。</TD></TR></TBODY></TAB……
查看全文
发表于:2007-12-22 ┆
阅读(233)
┆
评论(0)
再也不执着了!
<DIV> 因为今天晚上的执着,为了一个完善的程序的产生,结果浪费了一晚上时间,太不值得了...以后要注意!</DIV> <DIV> 程序有时间再放上来...</DIV>
查看全文
发表于:2007-12-18 ┆
阅读(205)
┆
评论(0)
gzip原理与实现(二)
<DIV> <P><B> <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#999999 cellSpacing=0 cellPadding=0 width="95%" bgColor=#f1f1f1 border=1> <TBODY> <TR> <TD> <P style="MARGIN: 5px; LINE-HEIGHT: 150%"><CODE><SPAN style="COLOR: #000000"><FONT face=NSimsun>感谢该文作者,虽然我没看很懂<SPAN style="COLOR: #0000cc">:</SPAN><SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>因为自己比较差吧<SPAN style="COLOR: #0000cc">,</SPAN>呵呵<SPAN style="COLOR: #0000cc">)</SPAN></FONT>……
查看全文
发表于:2007-12-16 ┆
阅读(185)
┆
评论(1)
gzip原理与实现(一)
<DIV> </DIV> <DIV> <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#999999 cellSpacing=0 cellPadding=0 width="95%" bgColor=#f1f1f1 border=1> <TBODY> <TR> <TD> <P style="MARGIN: 5px; LINE-HEIGHT: 150%"><CODE><SPAN style="COLOR: #000000"><FONT face=NSimsun>当初学Huffman树的时候就对文件压缩产生了兴趣<SPAN style="COLOR: #0000cc">,</SPAN>不过一直不懂原理<SPAN style="COLOR: #0000cc">,</SPAN>最近有幸看到了这篇详细介绍gzip原理的文章<SPAN style="COLOR: #0000cc">,</SPAN>非常高兴,同……
查看全文
发表于:2007-12-16 ┆
阅读(430)
┆
评论(1)
随机数的算法分析
<DIV></DIV> <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#999999 cellSpacing=0 cellPadding=0 width="95%" bgColor=#f1f1f1 border=1> <TBODY> <TR> <TD> <P style="MARGIN: 5px; LINE-HEIGHT: 150%"><CODE><SPAN style="COLOR: #000000">索性再学习一下随机数的生成算法</SPAN></CODE></P></TD></TR></TBODY></TABLE> <DIV class=content id=fontzoom> <P> <P><FONT color=#006666>1-0:Microsoft VC++产生随机数的原理:</FONT></P> <P><FONT color=#006666>Srand ( )和Rand( )函数。它本质上是利用线性同余法,y……
查看全文
发表于:2007-12-15 ┆
阅读(273)
┆
评论(0)
产生两个数之间的 随机数
<DIV></DIV> <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#999999 cellSpacing=0 cellPadding=0 width="95%" bgColor=#f1f1f1 border=1> <TBODY> <TR> <TD> <P style="MARGIN: 5px; LINE-HEIGHT: 150%"><CODE><SPAN style="COLOR: #000000"><SPAN style="COLOR: #ff9900">/*<BR> Name: 产生两个数之间的 随机数 <BR> Date: 15-12-07 00:31<BR> Description: 返回a和b之间的随机数,用时间做种子 <BR>*/</SPAN><BR><BR><SPAN style="COLOR: #0000cc">#</SPAN><SPAN style="COLOR: #ff0000……
查看全文
发表于:2007-12-15 ┆
阅读(189)
┆
评论(0)
垃圾邮件和贝叶斯过滤算法
<DIV> <P>贝叶斯算法介绍 <BR>一. 贝叶斯过滤算法的基本步骤<BR><BR>1) 收集大量的垃圾邮件和非垃圾邮件,建立垃圾邮件集和非垃圾邮件集。<BR>2) 提取邮件主题和邮件体中的独立字串例如 ABC32,¥234等作为TOKEN串并统计提取出的TOKEN串出现的次数即字频。按照上述的方法分别处理垃圾邮件集和非垃圾邮件集中的所有邮件。<BR>3) 每一个邮件集对应一个哈希表,hashtable_good对应非垃圾邮件集而hashtable_bad对应垃圾邮件集。表中存储TOKEN串到字频的映射关系。<BR>4) 计算每个哈希表中TOKEN串出现的概率P=(某TOKEN串的字频)/(对应哈希……
查看全文
发表于:2007-12-14 ┆
阅读(175)
┆
评论(0)
重叠区间的问题
<DIV>今日的笔试面试是有史以来最惨的一次,估计是被彻底鄙视了。 <BR>其中一道题目: <BR><BR>" <BR>size_t foo(unsigned int *a1, size_t al1, unsigned int* a2, size_t al2) <BR>其中a1和a2都为无符号数组,al1和al2为数组的长度,数组的长度为偶数。 <BR>无符号数组由一对数字区……
查看全文
发表于:2007-12-14 ┆
阅读(225)
┆
评论(0)
信息指纹及其应用
<DIV>任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint)。只要算法设计的好,任何两段信息的指纹都很难重复,就如同人类的指纹一样。信息指纹在加密、信息压缩和处理中有着广泛的应用。<BR><BR>我们在<A href="http://googlechinablog.com/2006/05/web-crawlers.html" target=_blank><FONT color=#0000ff>图论和网络爬虫</FONT></A>一文中提到,为了防止重复下载同一个网页,我们需要在哈希表中纪录已经访问过的网址(URL)。但是在哈希表中以字符串的形式直接存储网址,既费内存空间,又浪费查找……
查看全文
发表于:2007-12-14 ┆
阅读(148)
┆
评论(0)
MD5算法之 报文摘要算法
<DIV> <P align=left><FONT class=f14 id=zoom>1 执行简介<BR>本文描述了MD5报文摘要算法,此算法将对输入的任意长度的信息进行计算,产生一个128位<BR>长度的“指纹”或“报文摘要”,假定两个不同的文件产生相同的报文摘要或由给定的报文摘要产生<BR>原始信息在计算上是行不通的。MD5算法适合用在数据签名应用中,在此应用中,一个大的文件必<BR>须在类似RSA算法的公用密钥系统中用私人密钥加密前被“压缩”在一种安全模式下。<BR>MD5算法能在32位机器上能以很快的速度运行。另外,MD5算法不需要任何大型的置换列表。<BR>此算法编码很简……
查看全文
发表于:2007-12-14 ┆
阅读(140)
┆
评论(0)
MD5算法之基础篇
<DIV> <DIV class=content id=fontzoom> <P> <P align=left>HASH算法有两种,即SHA-1和MD5算法这里先介绍MD5算法.</P> <P align=left>MD5产生一个128位的HASH值,在经过一写初始树立后,将明文分成了512位的块,再将每一块分成16个32位的子块。算法的输出是4个32位的块,连接起来构成128位的HASH值。<BR> 首先,将消息填充到比512的倍数少64位,填充时先向消息末尾填一个1,然后再填满0,然后后面再加上一个64位的消息长度的表示(不包括填充位)。这两步使消息长度恰好是512的倍数,同时保证不同消息在填充后仍……
查看全文
发表于:2007-12-14 ┆
阅读(124)
┆
评论(0)
MD5之C语言源代码 及 简单应用
<div><font size="2">带密钥的md5算法库md5lib.h共有下列函数:<br> <br>char* MDString (char *);<br>/*输入任意一个字符串,经过md5算法处理后,返回结果:一个定长(32个字符)<br>字符串 */<br>char* MDFile (char *);<br>/*输入任意一个文件名,文件内容经过md5算法处理后,返回结果:一个定长<br>(32个字符)字符串 */<br>char* hmac_md5(char* text, char* key);<br>/*输入任意一个字符串text,和一个用做密钥的字符串key,经过hmac_md5算法处<br>理,返回处理结果:一个定长字符串(32个字符)*/<br>具体使用……
查看全文
发表于:2007-12-14 ┆
阅读(756)
┆
评论(1)