各位算法高手帮忙看个算法

Teng_s2000 2009-08-06 01:21:03
一个特大文件里面有好多单词,想找出类似 god和dog这样的回词
给个完整代码最好,实在不行写个伪代码给个思路也行

谢谢各位算法高手了~~
...全文
185 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Teng_s2000 2009-08-07
  • 打赏
  • 举报
回复
哈哈,还是结账吧,平均分配了
xiaoyali 2009-08-06
  • 打赏
  • 举报
回复
hehe
  • 打赏
  • 举报
回复
如果只是为了这个问题的话。

虽然文件特大。但是其实单词的量就是那么一些,
我想甚至可以直接放在内存里。


1、所以一个单词一个单词读进去。
用字典获得所有单词。

2、将单词和单词的反
用哈希在内存里
如果存在这个key了,
就提出来是回词了
oyzdz1988 2009-08-06
  • 打赏
  • 举报
回复
就是一个一个单词的进行判断也行啊,复杂度会在O(k*n),其中k为单词平均长度,n为单词个数.
超级大笨狼 2009-08-06
  • 打赏
  • 举报
回复
这类应用还是用数据库方便。
功能随意扩展,代码简单极了。
超级大笨狼 2009-08-06
  • 打赏
  • 举报
回复
我以前是用数据库做的,一句话就搞定。
Select a.* from words a inner join words b on a.word=REVERSE(b.word)
morilasi 2009-08-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 morilasi 的回复:]
能想到的最好的办法就是排序,反转成另外一个集合,再排序,然后合并
如果两个相邻的单词相同,那这个单词就是回词
[/Quote]去重的操作可以直接在排序里做~~时间复杂度O(n*lgn)。特大的话,分割开做就是了。
morilasi 2009-08-06
  • 打赏
  • 举报
回复
能想到的最好的办法就是排序,反转成另外一个集合,再排序,然后合并
如果两个相邻的单词相同,那这个单词就是回词
fire_woods 2009-08-06
  • 打赏
  • 举报
回复
没怎么看懂,不知道楼主是要一对一对的单词组,
还是一个一个的回文单词.
KWHOK 2009-08-06
  • 打赏
  • 举报
回复
一个一个读入单词,然后判断该单词是否是回文,也就 O(3*n),
按字符读入的话,就可以O(2*n),
勤奋的沉沦 2009-08-06
  • 打赏
  • 举报
回复
既然是单词, 那么之间应该有分隔符吧?
比如“doggod doggod”
如果是这样 那好像跟算法没什么关系。
1个词1个词读进去就好了
Teng_s2000 2009-08-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 pkuzhaojm1997 的回复:]
最好能把原题贴出来,有些东西都没说清,文件内单词是否有重复,单个字母和自回文的算不算,等。。。
[/Quote]

Sorry,没有原题了,自回词就不要了吧


[Quote=引用 4 楼 litaoye 的回复:]
是不是dogod就算是1个回文词?
[/Quote]

Right,就是取出这样的词来,但是不要光取dog和god,其余类似的也要取出

丈八涯 2009-08-06
  • 打赏
  • 举报
回复
这个问题主要困难应该是特大文件.

既然是特大文件,首要问题就是分割.
将文件分割后,对每个区的文条件进行查找.
然后再各个区进行合并查找.
使用树状表能够提高查找速度.如hash.

[Quote=引用楼主 Teng_s2000 的帖子:]
一个特大文件里面有好多单词,想找出类似 god和dog这样的回词
给个完整代码最好,实在不行写个伪代码给个思路也行

谢谢各位算法高手了~~
[/Quote]
pkuzhaojm1997 2009-08-06
  • 打赏
  • 举报
回复
最好能把原题贴出来,有些东西都没说清,文件内单词是否有重复,单个字母和自回文的算不算,等。。。
绿色夹克衫 2009-08-06
  • 打赏
  • 举报
回复
是不是dogod就算是1个回文词?
Teng_s2000 2009-08-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 litaoye 的回复:]
什么叫做回词?能详细一些么?最好有个例子!
[/Quote]
哈哈,dog和god就是相当于一反一正,不过如果判断是不是一个单词就困难了,只要有这种对称的就行了
绿色夹克衫 2009-08-06
  • 打赏
  • 举报
回复
什么叫做回词?能详细一些么?最好有个例子!
adfas 2009-08-06
  • 打赏
  • 举报
回复
排序

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧