console
$('#test').click(function () {
var bst = new BinarySearchTree();
var dic = {};
var num = parseInt($("#nodes").val(), 10);
var key;
var start = 'bob';
var end = 'tim';
for (var i = 0; i < num; ++i) {
key = Math.random().toString(36).substr(2, 3);
bst.add(key, i);
dic[key] = i;
}
var s1 = new Date().getTime();
var l1 = bst.findInRangeNR(start, end);
var e1 = new Date().getTime();
var l2 = [];
var s2 = new Date().getTime();
for (var k in dic) {
if (k <= end && k >= start) {
l2.push(k);
}
}
var e2 = new Date().getTime();
var res = '字典:找到' + l2.length + '个,耗时:' + (e2 - s2) + 'ms<br>';
res += '二叉查找树:找到' + l1.length + '个,耗时:' + (e1 - s1) + 'ms';
$('#result').html(res);
console.log(res);
console.log(l1.length, l2.length);
console.log(e1 - s1, e2 - s2);
});
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">二叉查找树测试</div>
<div class="panel-body">
<div class="well" id="intro">随机生成N个长度为3的字符串,分别使用字典和二叉查找树来查找其'bob'到'tim'的个数。</div>
<div class="expression">
<label for='nodes'>输入字符串数:</label>
<input id="nodes" class="form-control" style="max-width:100%" rows="1" value="100000"></input>
</div>
<div class="btn-group">
<button class="btn btn-default" id="test">开始测试</button>
</div>
<div class="output" style="margin=5">
<div class="well well-sm" id="result"></div>
</div>
</div>
<div class="panel-footer">
<div id="author">Author: <a href="http://wuzhiwei.net/about/" target="_blank">Tim Wu</a>
</div>
</div>
</div>
</div>
.panel-heading {
text-align:center;
}
#author {
text-align:right;
}
#test {
margin-top:5px;
margin-bottom:5px;
}