程序算法
文章平均质量分 59
ETstudio
当我不想用程序谋生的时候,我回来了。
展开
-
链堆的修改 使用双链来定义堆结点
链堆的修改 使用双链来定义堆结点 /**//********************************************** * 程序员: 郑永丹 * 修改日期: 2007-10-16 * 程序内容: * 双链堆栈类 * * *原创 2007-10-16 22:34:00 · 779 阅读 · 0 评论 -
C# 一个简单分词程序的思路和代码(七) 后记
这个分词程序在六的时候已经结束我,原来不怎么想写后记的,因为看的人也不是很多,不过竟然放出来共享了,也希望给大家一些提示去优化他,也希望有优化好的朋友可以公开他的优化代码。分词系统网上有几个小例子,一种是使用hashtable来保存字典,一种是使用数组来保存字典。首先使用hashtable来保存字典的话,确实查询,插入都比较方便,全部工作都交给语言做了,技术上没什么难度,速度也很快,代码也原创 2007-10-29 19:43:00 · 1239 阅读 · 3 评论 -
C# 一个简单分词程序的思路和代码(三) 键树 插入记录
如约定一样,今天放出分词程序的 数据插入代码首先,我们需要有一个方法查询当前字符在这棵树的地方,如果不存在返回-1,存在返回该记录的索引。每个字符只到每一层上存在一次 /**//// /// 得到关键词ID号 /// /// 支点 /// 结点值 /// ID号 private int F原创 2007-10-26 21:48:00 · 1506 阅读 · 0 评论 -
关于对使用类实现C++指针功能性能打折扣的反驳
1、类的定义并不会产生多大的内存,当你class A;的时候系统只是生成一个句柄而已,相当与一个Int型。2、当你new的时候生成对象,当你要保存东西的时候,在任何语言都内存来保持变量,所以是一样的。 3、当两个对象A=B的时候,传递的也只是一个句柄而已原创 2007-10-26 23:36:00 · 752 阅读 · 0 评论 -
加班后,余兴未了,写了个链表,呵呵放出来充实下blog先
/**//// /// 结点 /// /// 泛型对象 internal class LNodeT> ...{ /**//// /// 构造函数 /// public LNode() ...{ } /**//// /// 构造函数 设置泛型值原创 2007-10-12 00:17:00 · 765 阅读 · 0 评论 -
修改后的链表 加了个迭代器
今天加迭代器的是否发现删除有错误,修改了再放上来,改了哪里就让大家自己比较吧结点 /**//// /// 结点 /// /// 泛型对象 internal class LNodeT> ...{ /**//// /// 构造函数 /// public LNode() ...{原创 2007-10-13 00:19:00 · 819 阅读 · 0 评论 -
C#.net读取不同格式的IIS日志文件
如果有研究过IIS日志文件的朋友们,可能都知道,每个服务器,甚至每个域名的IIS日志格式可能都不同,这样刚开始接触的朋友就觉得很烦,特别是当我们要自己写IIS日志分析软件的时候更烦恼,因为如果一不小心设置错了,针对固定格式而写的读取文件就不能用了。特别是修改日志设置的时候,由于当日的文件中会存在两个不同的数据格式,读取非常麻烦,下面我把我解决这个烦恼问题的解决方案公开,希望对大家有帮助。文件格原创 2007-11-01 21:43:00 · 3338 阅读 · 0 评论 -
[读书笔记]计算机程序设计艺术第一卷
今天早上送了老婆去上班后,终于把>第一卷给看完一遍了,应该说过了一遍,因为里面很多证明和数学推理我并没有动手做,所以脑袋里也就只知道第一卷是讲什么和此套书和其他算法书的区别,这里我就谈谈我几点体会。>其实讲得不难,很多东西在我们大学本科的数据结构里的书都有说到,只是大学本科的数据结构告诉我们的基础数据结构有哪些,常用排序有哪些,深入些就没在详述,有些就一笔带过,有些就打*号了,老师自然也就不理原创 2007-11-02 22:07:00 · 2619 阅读 · 0 评论 -
算法重要吗
这个问题真的很难回答,因为实际开发中用到算法的地方很少,大部分时间都花在业务流程和界面,所以大部分人的算法也就渐渐忘光了。今天有个朋友说,他们公司有个负责设计算法的和一个项目经理是同学,但是项目经理的工资是算法设计的2倍,为什么会这样呢,因为算法的工作总的来说比较轻松,因为整个程序真正要涉及到算法设计的地方并不会特别多,可能只有当产品出现性能问题的时候,才会被重视。我个人认为,作为程序员基原创 2007-11-10 21:48:00 · 1805 阅读 · 4 评论 -
C# 一个简单分词程序的思路和代码(二) 键树
首先先描述下我们要实现的结果这是我上一篇blog的内容 准备把以前的一个分词程序贡献出来,希望给大家一个思路。这个程序我现在已经不用,因为有更好的算法去分,速度更快,所以这个就帮大家起一个抛砖引玉的作用。因为也不是高深的技术,所以就开源了具体使用的结构 用到了键树 词库使用 网上那个假冒的baidu词库慢慢的,每天放一些代码出来,大家可以先了解下键树,这样理解起来更好一些,修改原创 2007-10-25 21:23:00 · 2227 阅读 · 0 评论 -
以前的写的 链表堆
先放出来,这两天修改一下。这个星期估计是要加班了,郁闷,项目一直赶不出来,我责任重大啊。结点 internal class TCStackNodeT> ...{ public TCStackNode() ...{ } private T nodeValue = default(T); //节点对象原创 2007-10-13 09:31:00 · 995 阅读 · 0 评论 -
C# 一个简单分词程序的思路和代码(六) 源代码 ,测试程序,词库下载地址
下面给出测试程序下载地址 http://download.csdn.net/source/271485词库下载地址 http://download.csdn.net/source/271481源代码下载 http://download.csdn.net/source/271488 已经上传到csdn资源了,怎么等白天也不出现原创 2007-10-27 20:49:00 · 1652 阅读 · 1 评论 -
关于csdn论坛将1-20 的数字乱序,解答(2)
早上想到另一个方法,可能更合适,昨天的方法会有边界问题,比如2后面一定是跟1新的方法如下 int[] NumList=new int[20]...{1,2,3,4,5,6,7,8,9,10,.....20};private Random random=new Random;public void GetRandom(ref int[] numList)...{ int inde原创 2007-10-19 09:31:00 · 1085 阅读 · 0 评论 -
关于csdn论坛将1-20 的数字乱序,我的个人解答
虽然不是很好,还是放上来大家的思路都是for 循环,得到随机数,不重复添加,重复继续寻找随机数,知道满了为址 int[] reInt=new int[20] ...{-1,-1-,1-1.................};for (int iCount=0;iCount20;iCount++)...{ bool isFind=false; int rand=ne原创 2007-10-18 22:20:00 · 1158 阅读 · 0 评论 -
下午两点,要开始转数据了。开始计算机程序设计艺术之路
心跳加快,等着我们的是200个表的修改和数据转换,拜拜佛先。今天早上很早就起来了,翻了会《计算机程序设计艺术 》,这套书买了一年了,这个星期才翻出来看。不是我不想看,是我基础太差了,看不懂,呵呵,自卑中。恶补了数学和数据结构,再回头来看,才容易点,这套书很多都是扩展的话题,涉及到数学的方方面面,要读完他确实需要下很大的苦力,不过从专业的角度来说确实是一套好书,从读书的角度来说,确实知识面太原创 2007-10-21 13:57:00 · 1724 阅读 · 2 评论 -
[读书笔记] 欧几里得算法与该算法的扩充 C#
欧几里得算法 解决的问题是:寻找两个给定的正整数m和n的最大公约数 下面是C#代码的 欧几里得算法 public int MaxDivisor(int a, int b) ...{ int max=a>=b?a:b;//得到最大数 int min=ab?a:b;//得到最小数 int r=1;原创 2007-10-23 23:53:00 · 1489 阅读 · 0 评论 -
[读书笔记]欧几里得算法的解释
求两个数的最大公因数r两个数 a,b r为公因数设a=s*u b=t*u u同时被 a b整除 ,同时 u % r=0因为存在a=b*q+r ==>r=a-b*q=su-q *t *u=(s-q*t)u继续 反过来 每一个整除b和r的整数v有b=s1*v r=t1 *v 他也可以被a整除,因为a=b*q+r=s1 * v * q +t1原创 2007-10-24 21:56:00 · 914 阅读 · 0 评论 -
C# 一个简单分词程序的思路和代码(一)
准备把以前的一个分词程序贡献出来,希望给大家一个思路。这个程序我现在已经不用,因为有更好的算法去分,速度更快,所以这个就帮大家起一个抛砖引玉的作用。因为也不是高深的技术,所以就开源了具体使用的结构 用到了键树 词库使用 网上那个假冒的baidu词库慢慢的,每天放一些代码出来,大家可以先了解下键树,这样理解起来更好一些,修改起来也更有思路。这个分词程序分词的速度大概在1w字/秒,原创 2007-10-24 23:07:00 · 1956 阅读 · 0 评论 -
C# 一个简单分词程序的思路和代码(四) 键树 查询记录
由于明天有活动,今天就把(四)和(五)一起给弄出来了,希望大家喜欢。下面是分词程序中,分词的结果就是使用下面的方法得到,这个我是写在KeyWordTree类中,但是大家喜欢了。其实也可以放在应用程序中。 /**//// /// 分词,键树查找 /// /// 分词内容 /// 分词结果 public原创 2007-10-27 20:18:00 · 1619 阅读 · 2 评论 -
C# 一个简单分词程序的思路和代码(五) 使用代码
下面的代码是加载词库和分词使用首先定义一个全局对象 public KeyWordTree KeyTree = new KeyWordTree();接下就是要先把词库加载到内存中,我这里使用一个文本的词库,大小是700k左右,所以放在内存并不会占很大内存,一般来说20-30w的词库放在内存中问题都不大,因为键树本来就很节省空间,首部分相同的字不会重复记录。比如(计算机,计算原创 2007-10-27 20:29:00 · 1568 阅读 · 0 评论 -
字符串显示一个字符效果
今天在BBS上看到zswang发了一个用字符串生成字符的好动动,把它改造成一个方法放在这里,大家可以尝试一下,应该很好玩效果如下。。。。。接。。。接。。。。。。 。。。。。接。。。接。。。。。。 。。。。接。。。。。接。。。。。 。。。。接。。。。。接。。。。。 。。。接。。。。。。。接。。。。 。。接。接接接接接接接。接。。。 。。。。。。接。。。接。。。。。 。。。。。。接。。。接。。原创 2007-11-13 23:05:00 · 1368 阅读 · 3 评论