- 博客(26)
- 收藏
- 关注

原创 本人Blog的文章目录
本人Blog文章目录:“计算字符串的相似度”系列:计算字符串的相似度(VB2005)——思索之一计算字符串的相似度(VB2005)——思索之二计算字符串的相似度(VB2005)——思索之三计算字符串的相似度(VB2005)——思索之四本系列文章已经完结“2009年9月刊《程序员》算法题之我见”系列:2009年9月刊《程序员》算法题之我见——思索之一2009年9月
2009-10-03 10:11:00
986
原创 ASP小贴士
早两日,在网上看到一张非常有意思的图片。把ASP常用的语法放在一张A4左右的纸上,打印出来,就放在电脑旁。一旦记不住某些语句的时候,就可以瞄上一眼。这个叫做Cheat Sheet。我把地址贴给大家,有兴趣的可以看一下ASP/VBScript Cheat Sheet 感觉上,我经常用的上面没有,于是,自己做了一个,现在贴上来,让大家见笑了。
2009-12-10 10:27:00
931
1
原创 一道有趣的算法题
日前在网上看到一道算法题。颇有意思,也细细的研究一番。现将该题发布于此,和各位交流一下。同时,本文也是笔者首次使用Office2007的博客功能,看看效果怎么样。 某幢大楼有100层。你手里有两颗一模一样的玻璃珠。当你拿着玻璃珠在某一层往下扔的时候,一定会有两个结果,玻璃珠碎了或者没碎。这幢大楼有个临界楼层。低于它的楼层,往下扔玻璃珠,玻璃珠不会碎,等于或高于它的楼层,扔下玻璃珠,玻璃珠一定会
2009-11-25 08:53:00
1248
1
原创 正则表达式——去除文本中的非汉字(VB2005)
本人由于工作关系,需要一段代码,将给定的字符串中的非汉字去除,只保留汉字部分。这个一般用正则表达式比较简单,网上有一些匹配汉字的正则表达式,拿来经过改造就能实现我前面的要求。Public Function OnlyChinese(ByVal mText As String) As String Return System.Text.RegularExpressions.Re
2009-11-17 09:33:00
3903
原创 自动识别文字的编码以及读取所有文本——VB2005
在VB2005中,读取文本文件中的文本可以采用的方法是System.IO.File.ReadAllText,这个函数有两个参数,一个是文件的文件名(包含路径);一个是文本的编码,如果省略,采用系统默认的编码。可是,一般的文本编码有ANSI、Unicode、UTF8等。如果编码的格式选择不对,则读出来是一段乱码。笔者依照网上的资料,编写一个函数,能自动根据判别文本的编码格式,首先是将文本文
2009-11-16 20:35:00
2455
1
原创 计算机中的颜色——从色相值到纯色的快速计算
在上一文中,介绍了“如何快速计算颜色的色相值”,本文介绍从色相值到纯色的计算过程。之前已经介绍,色相值和纯色有着一一对应的关系。先看看传统的计算方法: 从图中计算的过程来看,还是比较繁琐的,再看看之前的纯色色相分布图。 从图中找到规律,在图中的右半部阴影部分,各个分量的变化如下所示:0-60:R:255-》255;G:0-》255;B:0-》0;
2009-11-01 19:08:00
3150
原创 计算机中的颜色——快速计算颜色的色相值
在之前的文章中,给定一个颜色,它的色相值计算如下:由公式可知,计算色相时要分为六种情况,计算略显复杂。有没有简单的计算方法呢?来看看下面这个图上面这个图,表示纯色的色相分布,把纯色分为六个部分。仔细观察,每个部分的纯色都有统一的特点,例如,右上角的部分,R=255,B=0,G从0变化到255。右边的部分,G=255,B=0,R从255变化到0。每一个部分都是一个分量是255,一个分
2009-10-26 09:14:00
5521
原创 计算机中的颜色——纯色、色相色
前一篇文章介绍了颜色的HSV表示方法,其中H表示色相,亦即表示在色相环上的位置。S表示颜色的纯度,当S=1时,表示颜色最纯,当S=0时,表示颜色没有纯度,此时表示为灰度色。V表示颜色的亮度,当V=1,颜色最亮,当V=0时,亮度最低,此时表示颜色为黑色。综上所述,当一个颜色(H,S,V)中的S=1,V=1时,此时该颜色表示色相环上的一种颜色。我们定义该颜色为纯色或者是色相色。由于每种颜色都有
2009-10-25 15:38:00
2343
原创 计算机中的颜色——HSV表示方法
在计算机中的实际应用中,除了RGB表示方法外,还有一种用的比较多的表示方法就是HSV(又称HSB)表示方法。它把颜色分为三个参量,一个是色相Hue,具体表示在色相环上的一种纯色,一个是饱和Saturation,具体表示纯色在颜色中的百分比,当S=1时,表示颜色最纯,当S=0时,表示灰度值。一个是亮度Value,表示颜色的亮度,当V=0时,表示黑色。HSV颜色系统在不破坏图像结构的基础上更该颜色
2009-10-21 12:39:00
5871
原创 计算机中的颜色——VB2005中的Color结构
在VB2005中,用来表示颜色的是Color结构,注意是结构,也就是不能继承的。下面把Color结构中的重要属性方法等介绍一下。大部分的资料来源于微软的MSDN。重要的属性:颜色的三分量R:红色的分量,取值范围为0—255G:绿色的分量,取值范围为0—255B:蓝色的分量,取值范围为0—255 颜色的类型: IsKnownColor:判断颜
2009-10-14 14:14:00
1404
原创 计算机中的颜色——颜色概述
无论是设计网页还是编写程序,一个美观的界面是必不可少的。仔细分析界面的构成,无外乎两个因素:一是颜色、一个是形状。这个又被称为UI设计。美术功底好的人,是能设计出让人赏心悦目的界面来,欠缺美术功底的人,有时费尽心思也没辙。 这个系列的文章,专注于计算机的颜色表示。通过了解计算机的颜色表示,能有助于提高那些欠缺美术功底的人设计界面的能力。计算机中的颜色是采用RGB颜
2009-10-13 16:02:00
6726
原创 2009年9月刊《程序员》算法题之我见——思索之三
本系列文章目录 2009年9月刊《程序员》算法题之我见——思索之一2009年9月刊《程序员》算法题之我见——思索之二2009年9月刊《程序员》算法题之我见——思索之三 接上文“2009年9月刊《程序员》算法题之我见——思索之二” 仔细分析后发现,似乎不能推导出一个统一的公式来计算出大于三行的可能数。只能另辟蹊径。 问题七:M=15,N=2,P=
2009-10-08 20:53:00
932
原创 遍历排列的实现——VB2005
前两日,写了一篇“遍历组合的实现——VB2005”。在数学分支里,排列与组合是不分家的。于是,动手写下本文。在上一文中,采用了递归调用,虽然便于理解,但是算法的效率上打个折扣。本文一并重写,改为循环调用。代码赋予其后,用的是VB2005两个类,一个是clsPermutation,用来计算排列的;一个是clsCombination,用来计算组合的。下面,把各个函数说明一下。类clsPer
2009-10-05 16:20:00
2387
3
原创 交换函数的陷阱——VB2005
在编程的一些算法中,交换函数虽然不起眼,但也是一个不可或缺的组成部分。少了它,很多算法就难以为继。交换函数定义就是交换两个变量的值。有一点编程基础的人都能很快速的写出代码来。 Public Shared Sub SwapNumber(ByRef N1 As Integer, ByRef N2 As Integer) Dim I As Int
2009-10-03 18:20:00
1204
1
原创 遍历组合的实现——VB2005
在数学的统计分支里,排列与组合是一个很重要的分支。在各种实际应用中,排列与组合也扮演了重要的角色。举例来说,安排人员参加活动可以看作是组合的应用。比方说,现在有十个人,选出其中的五个人参加某项集体活动。由于彼此之间有着脾气性格等因素,所以,不同的人员组合有着不同的工作效率。现在,要求你找出效率最高的人员安排。因为选出五人参加活动,没有顺序问题,因此是一个组合的问题。如果说,
2009-09-29 09:48:00
2009
1
原创 2009年9月刊《程序员》算法题之我见——思索之二
接上文“2009年9月刊《程序员》算法题之我见——思索之一” 问题六:M=15,N=2,P=S,求方案总数 按照上一篇文章的分析,相邻两排实习生安排如果符合要求的就一定能压缩到一排里。也就是说,不能压缩到一排里的就一定是不符合要求的安排。 每排S人,则两排一共是S+S人。因此,现计算出M=15,N=1,P=2S,的方案总数。对每一个安排来说,一拆二,S人作为第一排
2009-09-22 08:55:00
990
原创 2009年9月刊《程序员》算法题之我见——思索之一
本系列文章目录2009年9月刊《程序员》算法题之我见——思索之一2009年9月刊《程序员》算法题之我见——思索之二2009年9月刊《程序员》算法题之我见——思索之三 2009年9月刊《程序员》算法题之我见——思索之一笔者业余时间喜欢研究一些算法,也经常的阅读各类计算机杂志并对其中的算法题研究考量一番翻阅了2009年9月刊《程序员》,
2009-09-18 09:04:00
1304
原创 计算字符串的相似度(VB2005)——思索之四
参阅本文章之前,请先参阅以下文章计算字符串的相似度(VB2005)——思索之一计算字符串的相似度(VB2005)——思索之二计算字符串的相似度(VB2005)——思索之三 在思索之三的程序完成之后,经测试,结果和速度都令人满意,稍显美中不足的是就是空间复杂度还是比较高,为O(S1×S2),当S1和S2都比较大的时候,可能会占用非常多的空间。如何解决这个问题呢?经过对计算
2009-09-17 14:17:00
1259
1
原创 计算字符串的相似度(VB2005)——思索之三
在参阅本篇文章之前,建议先参阅以下两篇文章计算字符串的相似度(VB2005)——思索之一计算字符串的相似度(VB2005)——思索之二在第二篇文章中的代码完成之后,照例还是对代码测试了一番。还是用两个相似的字符串,长度分别为1500和1507,结果能出来,但是效率差了点。在笔者的电脑上用了6秒中左右。仅仅是比较文本,就要6秒钟,比较难以接受,而且从代码看时间复杂度和空间复杂度都是O(n
2009-09-11 21:10:00
1372
原创 计算字符串的相似度(VB2005)——思索之二
在完成“计算字符串的相似度(VB2005)——思索之一”之后,照例对程序进行了一番测试。第一次找了两个相似的字符串,长度分别为15和17。速度和结果都比较满意。这也印证了算法的正确性。第二次找了两个相似的字符串,长度分别为1500和1507。嗯,直接跳出错误,说是堆栈错误。实际上是由于递归嵌套出了问题。采用递归算法,只是理论上有效,便于理解,实际应用中会出现各种限制。如本例,嵌套约1000层的时候
2009-09-08 20:33:00
1887
原创 24点的所有组合的解法
近日,试着研究24点的算法。觉得穷举法是一种可以接受的解法。利用时下的计算机。就是穷举从1,1,1,1到10,10,10,10的所有数字组合的解法也不过就几秒钟而已。而且,可以将所有的结果保存在文件里,以供日后其他应用时方便调用,加快计算速度。下面将有结果的组合和解法赋予其后,有兴趣的同道之人可以参阅。1,1,1,8 --- 8×(1+1+1)=241,1,2,6 ---
2009-08-30 17:23:00
5093
原创 获得指定目录下的所有文件的列表(包括子目录下的文件)——VB2005
在实际的运用中,我们有时要求能获得一个目录下的所有文件列表,包括子目录下的文件。 在VB2005中有函数My.Computer.FileSystem.GetFiles(Path)。其效用是获得目录下所有文件列表,但是不包括子目录下的文件。My.Computer.FileSystem.GetDirectories(Path)这个函数效用是获得目录下的一级子目录的列表,不包
2009-08-28 11:50:00
2603
原创 一个VB2005的面试题的理解
前不久,在某人的博客上看到这样的一道题。Public Sub Test()Dim i as Integer For i=0 To 3Dim A as IntegerA=A+1Next Debug.Print AEnd Sub 问最后显示的A的值是多少?答案是出乎意料的,显示是4那人从分析内核的角度来分析这个问题。有兴趣的读者可以去看看。
2009-08-20 08:35:00
1158
原创 计算字符串的相似度(VB2005)——思索之一
本人近日阅读了《编程之美》,参阅了其中的——计算字符串的相似度——一节。感觉颇为实用。现将这一文章贴于此处,并将代码赋予其后。 许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程度。我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:1.修改一个字符(如把“a”替换为“b”)。2.增加一个字符(如把“abdd
2009-08-09 10:56:00
1728
原创 全排列的随机散列的实现(VB2005)
在实际的编程中,有时会需要遍历一组数字的全排列,来获得计算的结果。这在解某些最优解的题目的时候,特别有用。例如:现在有4个人去完成4项任务,每人只能完成一项任务,每人完成各个任务的效率都不同。那如何安排才能使得总效率最高?这是一个任务指派的问题,我们可以使用匈牙利法解决,这不是本篇文章的讨论重点,有兴趣的读者可以参看有关文章。如果,我们遍历1-4的全排列,分别求出每种全排列的效率和,然后取最大
2009-08-08 15:01:00
1660
原创 随机散列的实现(VB2005)
编写过程序的人都知道,随机散列是我们经常要实现的问题。什么是随机散列?比方说,现在有一个数列1、2、3、4、5、6。我希望得到一个随机的打乱顺序的数列,例如:2,5,6,3,4,1。这个新的数列就是原数列的随机散列。实际情况中,我们经常需要给定一个范围,就能得到一个随机散列。比方说:给定[2,7],通过运算得到一个散列:6,4,5,7,2,3。下面是实现随机散列的一个函数,用的是VB2
2009-08-08 14:54:00
3068
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人