程序设计(2017年腾讯公司校园招聘笔试)

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。

样例输入:4 10 15 13

样例输出:12

答案解析

int main() {     int k;     int nodeVal[3] = {0};     cout<<"请输入四个数字"<<endl;     cin >>k>>nodeVal[0]>>nodeVal[1]>>nodeVal[2];     int Min = min(min(nodeVal[0],nodeVal[1]),nodeVal[2]);     int Max = max(max(nodeVal[0],nodeVal[1]),nodeVal[2]);     int left = 1;     int right = (int)pow(2,k)-1;     int mid = (left+right)/2;     while(left<right){         if(Min<mid && Max>mid){             break;         }else if(Min>mid){        &nb...

查看完整答案

讨论

某二叉排序树如下所示,新的元素45应作为【 】插入该二叉树中。

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12

一棵满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4 10 15 13样例输出:12