分享下我和同学一起写的博客,主要关于计算机,算法,数学,和天文。

2011-07-29 13:03:47 +08:00
 EricZ
Mind Candies

http://c6h12o6.org

我们几个暑期都留在学校和教授一起做研究课题(不同的学校,不同的课题),平时学到的一些有趣的东西,就在这个博客上分享。我写的比较偏理论,我的同学也有比较偏技术的。

主要是自娱自乐~

欢迎大家拍砖~
7774 次点击
所在节点    分享创造
38 条回复
linnchord
2011-07-30 01:10:26 +08:00
右下角feed链接多了一个标点,改改 :)
EricZ
2011-07-30 05:48:52 +08:00
@bluef @linnchord 谢啦已经改过来了。
pmonkey
2011-07-30 08:49:50 +08:00
很赞!希望保持文章更新速度~
持续关注ing
Aragon
2011-07-30 17:49:07 +08:00
域名真恶心,怎么像个学化学的人的域名
bcxx
2011-07-30 17:56:40 +08:00
@Aragon 为什么分子式会恶心呢? 你不懂 nerd 的美啊~
timshi
2011-07-31 00:56:08 +08:00
不知道是不是我没理解清楚,“菜篮子算法“里开始提的两种算法其实没有区别?要得到第二种算法里得矩阵,是否需要经过和第一种算法一样得过程?还是用了其他得办法?按文章里描述的,这两个算法应该都是 o(m*n)(假设每行的单词数不变,m 为行数, n 为给出的字符串的长度)。 我觉的如果用 hash table 取代你的矩阵可能有更好的结果。

1。 把每行字拆成单词。
2。 用单词作为插入hash table的key, 用行数作为hash table的value,把每行的单词插入hash table,得到类似下面的例子

dell: 1, 3, 4, 5, 7
windows: 2, 4, 7, 10
xp: 4,7,11

在这个例子里,“dell”出现在第1,3,4,5,7行,"windows"在2,4,7,10行。

3。在给出一个字符串的情况下,用字符串里的单词为key,去找hashtable所对应的value。比如找 {dell,xp}, 得出{1,3,4,5,7}和 {4,7,11}两个array。两个数列如果有重叠的部分就说明所要找的字符串存在。

用这个算法,1,2两个步骤是O(m+n), 第3个步骤里,hash table查找数据平均是O(1). 寻找array的重叠部分可以先排序,然后同时step over两个list,应该是O(n*log(n)) + O(n),这里的n指array的长度,n应该相对已经比较小了。另外在查多个单词的时候这里还可以有一些优化。比如从array长度最小的两个array开始比较,如果得出的集合为空,那么就可以停止运算。
Celly0130
2011-07-31 14:53:19 +08:00
每篇都看过去了,学习了,另外好像现在只有你一个人发啊,关注
dofine
2011-07-31 16:39:53 +08:00
看到域名就激动了,结果发现没有化学的东西啊。。
EricZ
2011-08-03 02:16:57 +08:00
@Celly0130 现在我同学发了新的~
EricZ
2011-08-03 02:23:52 +08:00
@timshi 谢谢你的提示。我会去试试看。

第二种算法中得到矩阵的办法,是在第一次读取数据(文本文档)时,一边读一边构建的。也是用hash table,key是单词,value是关于n个行的向量。每读取一个新的词就创建一个新的hash key和向量。
sparklo
2011-08-03 02:49:40 +08:00
@EricZ 和 @timshi 都是trt的, 你们可以见面讨论 xD
EricZ
2011-08-03 08:39:59 +08:00
@timshi 没错,你的方法的确快了很多。我应该要更新下文章了~
EricZ
2011-08-03 08:59:09 +08:00
@sparklo @timshi wow,牛人!
avatasia
2011-08-03 10:02:59 +08:00
@EricZ 天文学 漂亮
Sycro
2011-08-03 10:18:39 +08:00
@amyhyde 域名:C6H12O6
葡萄糖的化学式?!
timshi
2011-08-06 01:21:46 +08:00
@EricZ

谢谢你在博客上的mention, 你写的很简单明了,比我说的清楚 :)你现在是大几?
EricZ
2011-08-06 01:48:18 +08:00
@timshi :) 下个学期大三了,Engineering Science的~
timshi
2011-08-06 02:28:26 +08:00
@EricZ 哈哈,怪不得你们博客上什么都有。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/16279

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX