有序数组构建平衡二叉树

原创 2018年04月14日 22:05:46
#include <stdio.h>

TreeNode *sortedArrayToBST(vector<int> &num){
	if(num.size()==0)
		return NULL;
	if(num.size()==1){
		TreeNode*parent =new TreeNode(num[0]);
		return parent;
	}
	int first=0;
	int last=(int)num.size()-1;
	return helper(num,first,last);
}

TreeNode* helper(vector<int>num,int first,int last){
	if(first>last){
		return NULL;
	}
	if(first==last){
		TreeNode* parent=new TreeNode(num[first]);
		return parent;
	}
	int mid=(first+last)/2;
	TreeNode*leftchild=helper(num,first,mid-1);
	TreeNode*righttchild=helper(num,mid+1,last);
	TreeNode *parent=new TreeNode(num[mid]);
	parent->left=leftchild;
	parent->right=rightchild;
	return parent;
}

书籍的基本结构, in XML & LaTeX

http://worldhello.net/doc/docbook_howto/  三国演义      贯中    罗  宴桃园豪杰三结义 斩黄巾英雄首立功    话说天下大势,分久必合,合久必分。 ...
  • Solstice
  • Solstice
  • 2004-04-28 15:39:00
  • 4626

算法之 有序链表和平衡二叉树 有序数组与平衡二叉树

题目描述: Given a singly linked list where elements are sorted in ascending order, convert it to a heigh...
  • C12345SDN
  • C12345SDN
  • 2014-08-23 21:57:49
  • 1258

有序数组转换为平衡二叉树

抓住两个条件:有序数组,平衡二叉树 根据有序数组可以利用二分查找对数组进行均匀划分; 平衡二叉树是左右子树的深度差控制在1以内。 具体JAVA程序如下...
  • u013279509
  • u013279509
  • 2015-04-09 09:27:58
  • 1154

有序数组转换为平衡二叉树(BST)

把有序数组转换为平衡二叉树。TreeNode* buildTree(vector &nums,int start,int last) { int mid = (start + last) / 2; ...
  • yang20141109
  • yang20141109
  • 2016-07-04 11:20:49
  • 1090

由一数组建平衡二叉树 并查找 Java实现

package fenshujs; import java.util.Arrays; import java.util.Scanner; public class bishi {...
  • K3140911026
  • K3140911026
  • 2017-09-05 22:17:55
  • 280

【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】

【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  ...
  • DERRANTCM
  • DERRANTCM
  • 2015-08-10 07:38:12
  • 2534

(将有序数组转成平衡二叉树)LeetCode#108. Convert Sorted Array to Binary Search Tree

将有序数组转成二叉平衡树
  • u012559634
  • u012559634
  • 2017-06-06 11:48:14
  • 231

如何构建平衡二叉树(AVL树)

一、基本概念:         平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,...
  • realxuejin
  • realxuejin
  • 2013-10-19 16:38:07
  • 6662

将有序数组转换为平衡二叉搜索树

问题 给定一个有序数组,数组元素升序排列,试将该数组转换为一棵平衡二叉搜索树(Balanced Binary Search Tree)。   思路 这个问题用递归很容易解出来。考虑下面一棵二叉...
  • ssjhust123
  • ssjhust123
  • 2012-07-26 08:27:04
  • 6864

通过有序数组生成平衡搜索二叉树

//通过有序数组生成平衡搜索二叉树 public class generateBST{ //二叉树节点的定义 public static class Node{ pu...
  • u012017783
  • u012017783
  • 2017-11-27 10:43:06
  • 97
收藏助手
不良信息举报
您举报文章:有序数组构建平衡二叉树
举报原因:
原因补充:

(最多只允许输入30个字)