博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(016)给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树(keep it up)...
阅读量:6705 次
发布时间:2019-06-25

本文共 589 字,大约阅读时间需要 1 分钟。

给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树。

因为数组是递增有序的。每次都在中间创建结点,类似二分查找的方法来间最小树。

struct TreeNode{	int data;	TreeNode* leftChild;	TreeNode* rightChild;};void newNode(TreeNode*& vNode, int vData){	vNode              = new TreeNode;	vNode->data        = vData;	vNode->leftChild   = NULL;	vNode->rightChild  = NULL;}void creatMinBinTree(TreeNode*& vNode, int vData[], int vBgn, int vEnd){	if (vBgn <= vEnd)	{		int Mid = vBgn + (vEnd - vBgn)>>1;		newNode(vNode, vData[Mid]);		creatMinBinTree(vNode->leftChild, vData, vBgn, Mid-1);		creatMinBinTree(vNode->rightChild, vData, Mid+1, vEnd);	}}
实际上就是二分查找树。

。。

转载地址:http://xsflo.baihongyu.com/

你可能感兴趣的文章
require()循环引用问题
查看>>
多行文字居中
查看>>
理解JavaScript 闭包
查看>>
Day9:html和css
查看>>
偏瘫能恢复吗?成都顾连康复治疗妙招
查看>>
微软ML.NET 0.10版分离处理表格数据增.NET生态系互操作性
查看>>
JDK, JRE和JVM的区别与联系
查看>>
Android视频编辑SDK--RDVECore来自锐动的无UI,高度抽象化API
查看>>
currentTarget VS target
查看>>
你所不知道的HTML5——语音合成
查看>>
Prettier your project
查看>>
RecyclerView顶部添加padding的方法
查看>>
web前端性能优化
查看>>
面试官“你的期望薪资是多少?”聪明的程序员都是这样答的!
查看>>
阿里巴巴资深技术专家无相:我们能从 InteliJ IDEA 中学到什么?
查看>>
Http请求首部Accept-Language
查看>>
手拉手教你实现一门编程语言 Enkel, 系列 14
查看>>
css实现图片背景填充的正六边形
查看>>
Android反编译及破解API协议 记录1
查看>>
LocalBroadcastManager源码剖析
查看>>