Redian新闻
>
请教脚本和编程高手:关键字自动查找与输出
avatar
请教脚本和编程高手:关键字自动查找与输出# PDA - 掌中宝
p*9
1
有一个问题请教论坛里的脚本语言和编程高手。
今有两个文件:文件A里面有100个关键词,文件B里面有5000行的文本。任务是在文件B
中查找文件A里的关键词,如果文件A里的关键词出现在文件B中,则把该关键词输入到
文件C中。请问如何实现?
文件A(关键词):
----------------------------------------
Apple
Banana
Can
Delta
...
----------------------------------------
文件B(文本):
----------------------------------------
define: apple
get 100 Delta
...
-----------------------------------------
文件C(结果):
-----------------------------------------
Apple
Delta
-----------------------------------------
avatar
m*d
2
作业题拿到论坛上来问

件B

【在 p*******9 的大作中提到】
: 有一个问题请教论坛里的脚本语言和编程高手。
: 今有两个文件:文件A里面有100个关键词,文件B里面有5000行的文本。任务是在文件B
: 中查找文件A里的关键词,如果文件A里的关键词出现在文件B中,则把该关键词输入到
: 文件C中。请问如何实现?
: 文件A(关键词):
: ----------------------------------------
: Apple
: Banana
: Can
: Delta

avatar
C*i
3
隔壁有个 unix linux programming版,

【在 m*d 的大作中提到】
: 作业题拿到论坛上来问
:
: 件B

avatar
l*n
4
grep -o -f A B > C

件B

【在 p*******9 的大作中提到】
: 有一个问题请教论坛里的脚本语言和编程高手。
: 今有两个文件:文件A里面有100个关键词,文件B里面有5000行的文本。任务是在文件B
: 中查找文件A里的关键词,如果文件A里的关键词出现在文件B中,则把该关键词输入到
: 文件C中。请问如何实现?
: 文件A(关键词):
: ----------------------------------------
: Apple
: Banana
: Can
: Delta

avatar
s*n
5
面试题吧。
naive方法 O(nm)复杂度。
要是想提高.
1. 建立关键词的prefix tree T.然后从文件B过 T, 一旦找到某个 W \in A.
A = A - W. cut the path of W from T.
until 1). end of the B OR 1) T is empty.
最差复杂度还是O(nm).实际要好的多。
2. 用B的题开查询A的hash table. averagew O(n)复杂度。

件B

【在 p*******9 的大作中提到】
: 有一个问题请教论坛里的脚本语言和编程高手。
: 今有两个文件:文件A里面有100个关键词,文件B里面有5000行的文本。任务是在文件B
: 中查找文件A里的关键词,如果文件A里的关键词出现在文件B中,则把该关键词输入到
: 文件C中。请问如何实现?
: 文件A(关键词):
: ----------------------------------------
: Apple
: Banana
: Can
: Delta

avatar
s*n
6
3.建立两个prefix tree T T'. Matching T & T'.应该O(n)最差时间久可以搞定了。

【在 s*****n 的大作中提到】
: 面试题吧。
: naive方法 O(nm)复杂度。
: 要是想提高.
: 1. 建立关键词的prefix tree T.然后从文件B过 T, 一旦找到某个 W \in A.
: A = A - W. cut the path of W from T.
: until 1). end of the B OR 1) T is empty.
: 最差复杂度还是O(nm).实际要好的多。
: 2. 用B的题开查询A的hash table. averagew O(n)复杂度。
:
: 件B

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。