求大神指点,js中查找在几万个汉字中查找关键的几个字很卡
javascript吧
全部回复
仅看楼主
level 1
青之除魔师Q
楼主
js中查找在几万个汉字中查找关键的几个字很卡,是不是将汉字转化为编码之后,再找会比较快?具体怎么做呢
2015年11月09日 14点11分
1
level 9
沙洲客🍼
扫描所有的字,做一个首字索引,以后的查找效率就很高了。跟编码无关。
2015年11月09日 14点11分
2
m453024717
回复 青之除魔师Q :层主的意思是做字典数据结构
2015年11月10日 02点11分
沙洲客🍼
回复 m453024717 :是的,以每个字为key,索引这些字出现的位置。
2015年11月10日 16点11分
level 13
Jin锛佲櫋
2015年11月09日 16点11分
3
青之除魔师Q
大神给指点指点啊
2015年11月10日 02点11分
level 8
Y20134064
用哈希表,我记得老师在数据结构中讲过
2015年11月10日 02点11分
4
m453024717
在这种数据量下我不推荐hash
2015年11月10日 02点11分
m453024717
理性讨论,先不要给人下定义。你知道hash最基本原理么?你明白js的宿主环境么?
2015年11月10日 02点11分
青之除魔师Q
哈希,这个我没做过
2015年11月10日 02点11分
沙洲客🍼
回复 m453024717 :。。。。其实这个字典结构就是哈希表啦。。就是js的普通对象
2015年11月10日 16点11分
level 6
m453024717
做字典结构查找
2015年11月10日 02点11分
5
m453024717
回复 青之除魔师Q :原来你还没理解我们提到的字典结构是什么东东……那是一种处理大量数据查找的数据结构就想字典一样……具体实现我希望你能动手Google
2015年11月10日 02点11分
青之除魔师Q
@m453024717
非常感谢,因为我以前一直做的ios,没听说过这个,有没有demo,让我看看代码什么样的,谢谢
2015年11月10日 03点11分
沙洲客🍼
回复 青之除魔师Q :其实就是cocoa的nsdictionary,key是汉字,value是nsarray,存每个字出现过的位置
2015年11月10日 16点11分
沙洲客🍼
回复 青之除魔师Q :哈哈,我也是做了七年的mac/ios程序员转过来的,握手
2015年11月10日 16点11分
level 11
mypcluna
这类问题必须有一步“预处理”,单线程实时搜索恐怕来不及;预处理主要就是建立专为搜索而优化的数据结构,对于键是字符串的常见情况,一种高效的结构名为“Trie”,俗称“字典树”,它十分高效(时间和空间两方面都是),搜索一下这玩意吧,用JS实现不难。
2015年11月11日 02点11分
6
level 12
_sheepy_
幾萬個字找幾個字 - 或十幾個字 - 一般都應超級快。估計是你的正則有效能問題。要不要貼出來給大家看看?
2015年11月11日 06点11分
7
1