回溯法(非递归实现)

摘要: 问题:给出一些数目,可以用加减乘除计算结果,求一些满足条件的结果。例如算24点。简化:生成+-*/的所有可能计算方式。(貌似不是数学中的排列,也不是数学中的组合)求解:(非递归)回溯法。#include using namespace std;// 0=>+, 1=>-, 2=>*, 3=>/int op[100];int count = 0;void output(int n){ for(int i = 0; i -1) { if (i == n) { count++; output(n); ... 阅读全文
posted @ 2013-06-24 14:29 caigen 阅读(3261) 评论(0) 推荐(0) 编辑

回溯法

摘要: http://en.wikipedia.org/wiki/Backtracking回溯法:基于记忆。在某个点(回溯点),前进试探一种的方案,然后再回退到这个点,前进试探下一种方案。其与递归,状态树的树枝扩展,深度优先有着某些本质联系。需要显式或隐式的记忆:哪些被前进尝试过,哪些未被前进尝试过。在回溯点回溯时需要:清理上一个方案的扩展状态,使用下一个方案的新扩展状态。问题:给出一些数目,可以用加减乘除计算结果,求一些满足条件的结果。例如算24点。简化:生成+-*/的所有可能计算方式。(貌似不是数学中的排列,也不是数学中的组合)求解:(递归实现的)回溯法。#include using namesp 阅读全文
posted @ 2013-06-24 13:57 caigen 阅读(546) 评论(0) 推荐(0) 编辑

暴力搜索

摘要: http://en.wikipedia.org/wiki/Brute_force_search暴力搜索的算法步骤:1)第一个解作为当前解。2)处理当前解(如果满足条件则输出,否则忽略)。3)生成下一个解作为当前解,继续2下去。所以也将称其为穷举或者生成-测试。尤其是名字生成-测试更能反映其算法结构。即:first(); do { } while (next());问题:给出一些数目,可以用加减乘除计算结果,求一些满足条件的结果。例如算24点。简化:生成+-*/的所有可能计算方式。(貌似不是数学中的排列,也不是数学中的组合)求解:暴力搜索法。// 0=>+, 1=>-, 2=> 阅读全文
posted @ 2013-06-23 23:18 caigen 阅读(1856) 评论(0) 推荐(1) 编辑

UML类图思考

摘要: 梳理了一下自己的想法,绘制出如下图形以备忘。思考点:(图形逆时针方向)1)面向接口。2)继承&组合。3)依赖注入。association[ə,soʃɪ'eʃən] n. 协会,联盟,社团;联合;联想aggregation[,ægrɪ'geʃən] n. [地质][数] 聚合,聚集;聚集体,集合体composition[,kɑmpə'zɪʃən] n. 作文,作曲;[材] 构成;合成物2013/01/02:) 阅读全文
posted @ 2013-01-02 15:15 caigen 阅读(331) 评论(0) 推荐(0) 编辑

SQL查询每组第一条数据记录

摘要: 问题描述如下:有一些program,每个program可能暂时无联系人,有一个联系人或不止一个联系人。需要找出每个program的一个联系人即可(没有则空)。即:SQL查询每组的第一条数据记录。测试表如下:create table test( program_id int, person_id int);insert testselect 1,1union select 1,2union select 2,3union select 2,4解决方案如下:select program_id, person_id from test... 阅读全文
posted @ 2012-12-27 13:02 caigen 阅读(8686) 评论(2) 推荐(0) 编辑

file & iconv

摘要: text processing with streaming method on linux is very flexiable.you konw, there are sed & awk & shell & python and etc.and sometime we need to determine the file format & convert the file encoding, then file & iconv is helpful.1, file - determine file type.2, iconv - convert enc 阅读全文
posted @ 2012-12-20 20:34 caigen 阅读(163) 评论(0) 推荐(0) 编辑

SecureCRT & lrzsz

摘要: 1, with ubuntu, type 'sudo apt-get install lrzsz'. after the installation,with 'manual rz' & 'manual sz',we could know: rz - fileReceive with ZMODEM. sz - file Send with ZMODEM.2, with windows, configure the session file upload & download directory in the SecureCRT. ~ 阅读全文
posted @ 2012-12-20 20:26 caigen 阅读(257) 评论(0) 推荐(0) 编辑

hello squid

摘要: ~with linux now, no good chinese input method~0, press ctrl + alt + T to open the terminal.1, sudo apt-get install squid. (so i am with ubuntu.)2, type 'man squid' we will get the description of 'squid'. squid - proxy caching server. blablabla.3, http://blog.s135.com/book/squid/squid 阅读全文
posted @ 2012-12-20 20:16 caigen 阅读(209) 评论(0) 推荐(0) 编辑

Hadoop上的中文分词与词频统计实践

摘要: 首先来推荐相关材料:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/。小虾的这个统计武侠小说人名热度的段子很有意思,照虎画猫来实践一下。与其不同的地方有: 0)其使用Hadoop Streaming,这里使用MapReduce框架。 1)不同的中文分词方法,这里使用IKAnalyzer,主页在http://code.google.com/p/ik-analyzer/。 2)这里的材料为《射雕英雄传》。哈哈,总要来一些改变。0)使用WordCount源代码,修改其Map,在Map中使用... 阅读全文
posted @ 2012-12-16 19:47 caigen 阅读(13397) 评论(4) 推荐(2) 编辑

非热点的关键点对程序的影响

摘要: 1)缓存程序中的热点代码可以对程序进行较好的优化。对于程序控制流图中的非热点代码但是是关键路径上的关键点代码对程序有何影响?怎么评价其影响力?2)数据挖掘中的神经网络算法可否应用于程序性质挖掘和程序优化?(神经网络算法向网络流算法的转换或退化?) 阅读全文
posted @ 2012-12-16 13:31 caigen 阅读(158) 评论(0) 推荐(0) 编辑