(016)给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树(keep it up)
2017-04-29 17:22
513 查看
给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树。
因为数组是递增有序的。每次都在中间创建结点,类似二分查找的方法来间最小树。
。。
因为数组是递增有序的。每次都在中间创建结点,类似二分查找的方法来间最小树。
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); } }实际上就是二分查找树。
。。
相关文章推荐
- (016)给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树(keep it up)
- 给定一个有序数组(递增),构建一棵具有最小高度的二叉树
- 给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
- 给定一个有序数组(递增),构建一棵具有最小高度的二叉树
- 给定一个递增有序数组,要求构建一棵具有最小高度的二叉查找树
- [Java]给定一个递增有序数组,要求构建一棵具有最小高度的二叉查找树
- 给定一个有序的数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉查找树?
- Chapter 4 | Trees and Graphs--有序数组构建最小高度的二叉树
- 给定一个有序整数数组,元素各不相同且按照升序排列,编写一个算法,创建一个高度最小的二叉查找树
- 【IT笔试面试题整理】有序数组生成最小高度二叉树
- 给定一个有序数组,元素各不相同且升序排列,创建一个高度最小的二叉查找树
- Chapter 4 | Trees and Graphs--有序数组构建最小高度的二叉树
- 【Java】给定一个有序整数数组,元素各不相同且按照升序排列,编写一个算法,创建一个高度最小的二叉查找树
- 程序员面试金典: 9.4树与图 4.3给定一个有序整数数组,元素各不相同且按升序排列,创建一颗高度最小的二叉查找树。
- Cracking coding interview(4.3)给定一个排好序的数组创建最小高度的二叉树
- 程序员面试金典: 9.4树与图 4.3给定一个有序整数数组,元素各不相同且按升序排列,创建一颗高度最小的二叉查找树。 ---快速解法
- 给定一个有序的链表或者数组,构造一棵二叉搜索树
- 一个有n个整数的递增有序数组。对它进行向左或向右循环移动若干次后,要求给出一个代码实现,尽可能快地从这个数组中寻找指定值所在的位置
- 数据结构:由有序数列创建一棵高度最小的二叉排序树与判断一 个序列是否为该二叉排序树中的一个合法查找序列
- 014敲代码将一个栈按升序排序,对这个栈是怎样实现的,你不应该做不论什么特殊的如果(keep it up)