前缀树的JavaScript实现
2017-05-20 13:44
148 查看
function Trie() { var obj = {}; return { add : function(str) { var parent = obj; for (var i = 0; i < str.length; i++) { var chr = str.charAt(i); if (parent.hasOwnProperty(chr)) { parent[chr].appearCount++; } else { parent[chr] = { value : chr, appearCount : 1 }; } parent = parent[chr]; } }, has : function(prefix) { var parent = obj; for (var i = 0; i < prefix.length; i++) { var chr = prefix.charAt(i); if (!parent.hasOwnProperty(chr)) { return 0; } parent = parent[chr]; } return parent.appearCount; } }; } var tree = new Trie(); tree.add("banana"); tree.add("band"); tree.add("bee"); tree.add("absolute"); tree.add("acm"); //2 console.log(tree.has("ban"));
相关文章推荐
- Javascript中实现JS文件的导入+命名前缀
- javascript间接实现前端非获取匹配,保留带某前缀的子串不执行替换
- 实现JavaScript的继承
- JavaScript 实现动态增加、删除表单域
- 『收藏』可拖放移动的层的Javascript实现
- JavaScript实现的Base64编码和解码
- javascript 中对Trim()的实现
- [导入]JavaScript实现的Base64编码和解码
- 『改进』逐行滚动文字效果的Javascript实现
- javascript/Jscript实现父子窗体的互相引用问题
- Javascript实现DES加密算法。
- javascript/Jscript实现父子窗体的互相引用问题(Powered By ZosaTapo)
- JSP + JavaScript 实现类似 MSDN CSDN 导航树效果!
- 用JavaScript实现动画效果
- [转贴]JavaScript的Prototype实现
- 类似 MSDN CSDN 导航树效果 ASP.Net(C#) + JavaScript 实现!
- 类似 MSDN CSDN 左边导航树效果的实现! [JavaScript + ASP]
- 类似 MSDN CSDN 导航树效果 ASP.Net(C#) + JavaScript 实现!
- 『原创』从屏幕右下角自动上升的窗口的Javascript实现
- javascript 中对Trim()的实现