首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

微软面试题_五

2012-10-31 
微软面试题_5题目:怎样编写一个程序,把一个有序整数数组放到二叉树中?分析:用对分法构建树,即序号为n/2处

微软面试题_5
题目:怎样编写一个程序,把一个有序整数数组放到二叉树中?
分析:用对分法构建树,即序号为n/2处的元素作为根节点,剩余小的部分递归用对分法构建左子树,大的部分递归用对分法构建右子树。

private static TreeNode arrToBitree( int[] arr, int start, int end ) {int len = end - start + 1;if( len != 0 ) {int midPos = ( start + end ) / 2;/* 注意:中间点位置不是 len / 2 */TreeNode node = new TreeNode( arr[midPos] );node.left = arrToBitree( arr, start, midPos - 1 );node.right = arrToBitree( arr, midPos + 1, end );return node;} else {return null;}}

热点排行