⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 access-binary-trees.js

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 JS
字号:
/* The Great Computer Language Shootout   http://shootout.alioth.debian.org/   contributed by Isaac Gouy */function TreeNode(left,right,item){   this.left = left;   this.right = right;   this.item = item;}TreeNode.prototype.itemCheck = function(){   if (this.left==null) return this.item;   else return this.item + this.left.itemCheck() - this.right.itemCheck();}function bottomUpTree(item,depth){   if (depth>0){      return new TreeNode(          bottomUpTree(2*item-1, depth-1)         ,bottomUpTree(2*item, depth-1)         ,item      );   }   else {      return new TreeNode(null,null,item);   }}var ret;for ( var n = 4; n <= 7; n += 1 ) {    var minDepth = 4;    var maxDepth = Math.max(minDepth + 2, n);    var stretchDepth = maxDepth + 1;        var check = bottomUpTree(0,stretchDepth).itemCheck();        var longLivedTree = bottomUpTree(0,maxDepth);    for (var depth=minDepth; depth<=maxDepth; depth+=2){        var iterations = 1 << (maxDepth - depth + minDepth);        check = 0;        for (var i=1; i<=iterations; i++){            check += bottomUpTree(i,depth).itemCheck();            check += bottomUpTree(-i,depth).itemCheck();        }    }    ret = longLivedTree.itemCheck();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -