摘要:
MonoState一些设计模式的书上没有,我也不清楚这个模式的由来。具体说一下 单例模式:私有掉构造函数,并且类中有一个私有静态对象,通过静态方法去获得实例。可以保证类中只有一个实例。 MonoState模式:静态化所有成员变量,但成员函数都是非静态的。这样使用时有一定隐蔽性,和普通类使用时没区别。 阅读全文
摘要:
这一章中列举了2个例子,通过温度打印和冒泡排序来说明两个模式如何取舍。 这一章想表达的东西应该是 1.过度使用模式不好 2.模板方法模式和策略模式有些相似,但他们各有利弊,需要取舍。 不过第一个例子实在想吐槽。。没有遇到变化的时候,就用模式,当然会变得臃肿了。。 而且还没创建一个新的类,而是直接在M 阅读全文
摘要:
就是把01010的数据换成了可以自定义的字典.如果字典数量比字符数量多,就会把多出来的字典去掉。 如果字典里值有重复的话,也会把重复值去掉。 其实就是把左右子树变成数组,但其他对二叉树的操作就会受影响了。 具体代码如下 class Program { static void Main(string[ 阅读全文
摘要:
这是链接上一篇文章所写的代码,上一篇链接如下: http://www.cnblogs.com/HONT/archive/2013/06/05/3118531.html StringToHuffmanCode这个函数相当于把转换步奏打包执行,其中树的一些遍历使用递归实现,由于用了不少.Net3.5的特 阅读全文
摘要:
huffman中文叫做哈弗曼,霍夫曼。网上清一色全是C++,C的实现,C#的应该比较少。所以成了写这篇文章的动机。 首先哈弗曼算法是一个压缩算法,但只是进行了替换字符的操作,没有合并字符记录位置。很多算法基于哈弗曼又进一步的进行合并等操作。并且哈弗曼编码不仅可以用于压缩,还可以拿他进行简单的加密。 阅读全文
摘要:
集合处理属于Linq中加入的功能,所以使用时需要引用Linq命名空间。 并且.Net3.5之前的版本无法使用 注意:不管交集并集,差集。他们都会合并重复元素,所以结果不会有重复值。 并集: 把两个序列合并在一块,然后把相交的部分剔除掉。 A = 1,2,2,3,5 B = 2,2,5,4,7 合并后 阅读全文
摘要:
厌倦了SQL Server的系统服务和臃肿的安装文件。。又不想用MySQL,于是开启了SQLite的坑 总的来说还是不错,SQLite对一些SQL语法只提供有限的支持,太复杂的操作需要重新建表。网上说10万条以下数据SQLite都不在话下。so,小型的数据库再合适不过了 这里示范SQLite的本地读 阅读全文
摘要:
学习完设计模式也有近1个月时间,感觉总做练习用途不大,还需要多看源码才能体会。做练习只能够加深印象。 学习完设计模式后,很容易滥用接口,一个功能模块会写许多冗余的;不是必须的接口进行套用,最后回顾发现许多 无意义的代码;非常让人无语。 滥用接口 对于滥用接口的问题,得出一个结论就是,编写新模块时不要 阅读全文
摘要:
时间复杂度就是这个算法需要花多少时间。空间复杂度就是这个算法占用内存多少。 t(n) = O(f(n)) 这是时间复杂度表示,t是Time缩写,f可能是Funciton缩写。 s(n) = O(f(n)) 空间复杂度,s是space的缩写。右边的一样。 PS:O意指大O表示法。 阅读全文