SOURCE

console 命令行工具 X clear

                    
>
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;
}

本项目引用的自定义外部资源