跳至主要内容

博文

目前显示的是标签为“计算机”的博文

Ubuntu 12.04和Windows 7双系统的安装方法

From Evernote: Ubuntu 12.04和Windows 7双系统的安装方法 Clipped from: http://www.weste.net/2012/4-29/82173.html ubuntu 是一个操作系统,和安卓一样同是linux内核下的子民,所以来这贡献一下,也求JW放出安卓4.0原生正式版,我只想要这个。 前几天发布了ubuntu12.04LTS 版本,兴奋ing. 看到论坛里还是挺多ubuntu粉丝,搞了个安装方法给那些害怕乱弄把硬盘全格的盆友们。 的确可以用wubi安装,wubi安装就像一个程序一样装在windows文件系统之上,网上说的缺点有: 用WUBI安装Ubuntu的缺点: 1、一休眠或挂起就会死机,不能从休眠或挂起状态恢复,只能强行关机然后重启。因为休眠和待机需要使用FUSE和基于文件的交换。建议用Ubuntu Tweak禁用休眠和挂起功能。 2、如果安装分区以外的分区也有名为"Ubuntu"的文件夹的话,卸载时可能会把其它分区的Ubuntu文件夹误删除,所以建议不要在安装分区以外的分区自行建立名为"Ubuntu"的文件夹。 3、删除Windows分区里的文件时不能使用回收站,会被直接删除。 4、用Live CD启动不能访问虚拟分区里的文件。一旦系统崩溃,文件可能无法取回!建议把所有个人文件都存放到Windows分区中。 5、进入在Windows里安装的Ubuntu时,如果突然断电的话,系统很容易崩溃,因为这样安装的Ubuntu系统会被当作是Windows系统下的一个文件,断电时这个文件会受损,启动或运行就会不正常了。 所以如果你和我一样最求极致纯正,那么就按照我的方法吧。其实不麻烦,让我装半个钟可以搞定。只是说了挺多基础的东西 言归正传。 你需要的东西有: 1, ubuntu系统镜像 ,下载地址: http://www.ubuntu.com/download/desktop 选64位吧,兼容性好些。 2,空闲的 大于10G硬盘空间 ,多多益善,我用了50G。 3,刻录镜像用的至少有1G大小的空白U盘或光碟。如果 电脑支持usb设备启动就选择U盘 吧,否则只能用...

字符串匹配的KMP算法

字符串匹配 是计算机的基本任务之一。 举例来说,有一个字符串"B・BC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务, Knuth-Morris-Pratt算法 (简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。 这种算法不太容易理解,网上有很多 解释 ,但读起来都很费劲。直到读到 Jake Boxer 的文章,我才真正理解这种算法。下面,我用自己的语言,试图写一篇比较好懂的KMP算法解释。 1. 首先,字符串"BBC ABCDAB ABCDABCDABDE"的第一个字符与搜索词"ABCDABD"的第一个字符,进行比较。因为B与A不匹配,所以搜索词后移一位。 2. 因为B与A不匹配,搜索词再往后移。 3. 就这样,直到字符串有一个字符,与搜索词的第一个字符相同为止。 4. 接着比较字符串和搜索词的下一个字符,还是相同。 5. 直到字符串有一个字符,与搜索词对应的字符不相同为止。 6. 这时,最自然的反应是,将搜索词整个后移一位,再从头逐个比较。这样做虽然可行,但是效率很差,因为你要把"搜索位置"移到已经比较过的位置,重比一遍。 7. 一个基本事实是,当空格与D不匹配时,你其实知道前面六个字符是"ABCDAB"。KMP算法的想法是,设法利用这个已知信息,不要把"搜索位置"移回已经比较过的位置,继续把它向后移,这样就提高了效率。 8. 怎么做到这一点呢?可以针对搜索词,算出一张《部分匹配表》(Partial Match Table)。这张表是如何产生的,后面再介绍,这里只要会用就可以了。 9. 已知空格与D不匹配时,前面六个字符"ABCDAB"是匹配的。查表可知,最后一个匹配字符B对应的"部分匹配值"为2,因此按照下面的公式算出向后移动的位数:   移动位数 = 已匹配的字符数 - 对应的部分匹配值 因为 6 - 2 等于4,所以将搜索词向后移动4位。 1...