06 2012 档案
摘要:开始配置编程环境,主要试Python和C/C++的环境,考虑使用Eclipse的PyDev和CDT。 先是安装Eclipse,软件管理器提供的版本是最新版本,但是下载速度过慢。在官网上直接下载要快很多。所以最好是从官网下载。 Eclipse的压缩包解压之后,就可以运行Eclipse了。可以考虑把它放到/usr/local/下面。然后给Eclipse建立一个快捷方式。 然后安装插件,网上一般介绍两种方法,一种是使用Eclipse的插件管理,在Help菜单下面的Install New Software,添加对应的源,试了一下,不知道什么原因,虽然可以抓取到插件的信息,但在继续往下安装检查...
阅读全文
摘要:今天折腾了一下Linux Mint下的词典,自带的词典程序不知到怎么添加词典,查了一下,用的比较多的是GoldenDict,StarDict。比较了一下,感觉GoldenDict的界面比StarDict要好一些,于是安装了GoldenDict。 GoldenDict默认带的试英文的Wikipedia,需要安装英汉词典。于是找到了这份链接,http://xinyo.org/archives/61412/ ,可以下载,不过好像都太大了,另外找了一份,只有bgl文件,没有发音插图等,所以比较小,只有17MB。有地方说把词典放到/usr/share/下面新建的dict文件夹里,不过我没有搞定,或...
阅读全文
摘要:需要安装latex,需要支持中文,这个问题一直很头疼。今天折腾了半天,总算搞定了,等搞定之后,发现还是很简单的。总结一下,希望给大家一个参考。 首先是安装包的选择,当然首选texlive,但是不是软件管理提供的texlive,也不用自己去下载texlive的镜像,而是从这里http://tug.org/texlive/quickinstall.html 下载一个安装器,它会帮你选择最近的源,安装速度还是不错的。至于为什么选这个,而不是自己下载镜像,因为有个地方提到这里的经过修改,对中文支持更好。texlive要比较好的支持中文,一般需要安装texlive-full。链接是安装指导,按照指...
阅读全文
摘要:考完试,再来折腾一下电脑。Windows已经到了开机3分钟还不能用的情况,Ubuntu下面的各种文件也是各种混乱,图片啊,不知到下载下来干嘛的压缩包啊。感觉的没用的全部删掉,然后重装个系统,一切基本上都是新的,感觉多好。 对Ubuntu12.04的感觉其实还是不错的,不过每次打开多个文件夹,要在文件夹之间切换的时候,点左边的快捷启动栏的文件夹图标,响应太慢了。看着Linux Mint的界面还不错,经典的类似与XP的界面,于是决定换到Linux Mint。选择的是Mint 13 Mate版本,除了不喜欢它的代号“玛雅”之外,其他的都还好,代号直接忽略。不过在安装Linux Mint的时候,...
阅读全文
摘要:第7章,动态规划,Dynamic Programming 又是动态规划,上一次想整理动态规划,结果还没有整理完,实际上是没有整理的动力了,整理一道题都好费时间的。 现在又要整理,这次能整理多少了?已经开始写了,那至少有些成果吧。 最长公共子序列问题 书上例题,先简单分析一下,然后看与之类似的一个问题。 给出两个长度为n和m的字符串A=a1a2..an和B=b1b2..bm,确定A和B的最长公共子序列的长度。其中,子序列的定义是形式为ai1,ai2,..aik的字符串,ij满足1<i1<i2<..<ik<n,也就是没有要求子序列是元字符串中连续的字符序列。 为了使用
阅读全文
摘要:第6章,分治法,divide & conquer 分治,分而治之,先把问题划分为小问题,先解决小问题,然后把小问题的解组合得到的大问题的解。这跟归纳法类似之处在于,都是先解决小问题,再由小问题得到大问题的解。只是归纳法中小问题的解与大问题的解之间是递推关系,分治法多个小问题之间是并列关系。 经典算法有合并排序,快速排序,大整数乘法,矩阵分块乘法,寻找第k小元素,最近点对。下面先看排序算法。 在review1.2里面,已经给除了集中经典的排序算法的实现,并且给出归并排序和快速排序的时间复杂度都是O(nlogn),而这一章给出了一个平均比较次数(不是运行时间的)的测试结果,归并排序的性能比
阅读全文
摘要:第14章,随机算法,random algorithm。 随机算法,当算法在执行过程中面临一个选择时,随机行选择常比最优选择快,因此随机算法可以在一定程度上降低算法的复杂度。 由于随机过程的存在,对所求解问题的同一个输入,可能得到完全不同的输出。 随机算法一般分为四类,数值随机算法,蒙特卡罗(Monte Carlo)算法,拉斯维加斯(Las Vegas)算法和舍伍德(Sherwood)算法。 数值概率算法常用于数值问题的求解。这类算法所得到的往往是近似解。而且近似解的精度随计算时间的增加不断提高。在许多情况下,要计算出问题的精确解是不可能或没有必要的,因此用数值概率算法可得到相当满意...
阅读全文
摘要:复习算法,整理一下这个KMP算法。给定一个长为n的字符串S,和长为m的模式字符串P,判断P是否在S中出现,如果出现给出位移。直接的想法就是,循环,从S的第i位开始,比较S[i,..,i+m-1]与P是否相同,这样的循环要n-m+1次,每次循环的时间复杂度O(m),那么总的时间复杂度就是O(nm)。对字符串的查找有更快的线性时间算法,那就是KMP算法。K就是Knuth。KMP算法的主要思想是,对模式字符串预处理,得到自身匹配的位移信息,然后在与目标字符串匹配的过程中,如果发生不匹配,那么接下来根据自身匹配的位移信息进行移位,例如S=abababca,P=ababca,模式字符串自身匹配位移信息如
阅读全文