refactor(benchmarks): make setup nicer
- simplify and correct systemjs config - remove deep imports into Ng2 packages to work with bundles - have separate Ng2 and Polymer bootstrap files
This commit is contained in:
36
modules/benchmarks/src/tree/util.ts
Normal file
36
modules/benchmarks/src/tree/util.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import {getIntParameter} from '../util';
|
||||
|
||||
export class TreeNode {
|
||||
constructor(public value: string, public left: TreeNode, public right: TreeNode) {}
|
||||
}
|
||||
|
||||
let treeCreateCount: number;
|
||||
let maxDepth: number;
|
||||
let numberData: string[];
|
||||
let charData: string[];
|
||||
|
||||
init();
|
||||
|
||||
function init() {
|
||||
maxDepth = getIntParameter('depth');
|
||||
treeCreateCount = 0;
|
||||
numberData = [];
|
||||
charData = [];
|
||||
for (let i = 0; i < maxDepth; i++) {
|
||||
numberData.push(i.toString());
|
||||
charData.push(String.fromCharCode('A'.charCodeAt(0) + i));
|
||||
}
|
||||
}
|
||||
|
||||
function _buildTree(values: string[], curDepth: number = 0): TreeNode {
|
||||
if (maxDepth === curDepth) return new TreeNode('', null, null);
|
||||
return new TreeNode(
|
||||
values[curDepth], _buildTree(values, curDepth + 1), _buildTree(values, curDepth + 1));
|
||||
}
|
||||
|
||||
export const emptyTree = new TreeNode('', null, null);
|
||||
|
||||
export function buildTree(): TreeNode {
|
||||
treeCreateCount++;
|
||||
return _buildTree(treeCreateCount % 2 ? numberData : charData);
|
||||
}
|
Reference in New Issue
Block a user